我正在使用HaxePunk 2.5.6与OpenFL 3.6.1和Lime 2.9.1;我在an issue on the HaxeFlixel GitHub中读到,Lime禁止访问遗留类的类。这是一个大问题,因为HaxePunk默认使用遗留。我想使用lime.ui.FileDialog
打开并保存文件,但由于HaxePunk一直处于遗留状态,显然不起作用(lime.ui.FileDialog
读取为null
而不是Class<lime.ui.FileDialog>
。 ..)。这有解决方法吗?我在OpenFL中没有看到任何替换它的东西,所以我真的迷路了。显然我不想安装任何额外的lib,除非它确实是必要的。在编译覆盖-Dnext
时使用-Dhybrid
或-Dlegacy
会破坏所有内容,因此这也不是解决方案。
先谢谢!
答案 0 :(得分:1)
您可以转到<haxelib directory>/lime/2,9,1/legacy
并撤消the relevant commit中include.xml
的更改,方法是删除此行:
<haxeflag name="--macro" value="exclude('lime')" />
但,如this thread中所述,这会向lime.ndll
添加依赖项(而不是lime-legacy.ndll
,这是唯一被复制到/bin
的{{1}}。 {1}}对于旧版本,所以当你的二进制文件发送到没有安装Haxe的其他计算机时会崩溃。
您可以通过手动复制lime.ndll
(或将<ndll name="lime" dir="ndll" />
添加到旧版include.xml
)来解决此问题,但可以使用第三方库,例如systools或{{ 3}}将是一个更清洁的解决方案。