Как импортировать net классов как источник файлов для использования в проекте?


Отсюда https://github.com/HaxeFoundation/HaxeManual/wiki/Haxe-C%23 я узнал:

Haxe может напрямую загружать файлы сборок .NET (.DLL) и преобразовать его определения типов для использования в качестве типов Haxe. Для того, чтобы загрузить .Net-сборки, использование-net-lib библиотеки.опция компилятора dll. Затем Haxe автоматически проанализирует типы, определенные в этом файле сборки, и сделает их доступными для импорта как типы Haxe.

Отлично, мне нужны импортные формы.файл DLL. Не haxe -net-lib C:WindowsMicrosoft.NETFrameworkv4.0.30319System.Windows.Forms.dll и не haxelib -net-lib C:WindowsMicrosoft.NETFrameworkv4.0.30319System.Windows.Forms.dll сделано что-то.

Тогда я нашел, что https://groups.google.com/forum/#! topic / haxelang / DS8AXeWxiTA . Парень использует

На Haxe -СР РКЦ -КС F:/_dev/CSTest2/CSTest2 -Д нетто-Вер=40 -Д Нетто-с std=с:WindowsМайкрософт.ЧистаярамкиВ4.0.30319 -главное -чистая-Либ доступности.dll@std-net-lib System.Рисование.dll@std-net-lib System.Окна.Формы.dll@std

Я полагаю, его компиляция.настройка файла hxml. Но... Его компилируют файл. Я все еще получаю ошибку от неизвестно " импорт cs.система.окна.формы.Форма; ". Так что его подобие должно уже существовать в моих исходных файлах до начала компиляции.

Вот моя текущая компиляция .hxml , который я пытался скомпилировать:

-main Main
-cp src
-cs bin
-D net-ver=40
-D -net-std=C:WindowsMicrosoft.NETFrameworkv4.0.30319
-net-lib C:WindowsMicrosoft.NETFrameworkv4.0.30319Accessibility.dll@std 
-net-lib C:WindowsMicrosoft.NETFrameworkv4.0.30319System.Windows.Forms.dll@std
-net-lib C:WindowsMicrosoft.NETFrameworkv4.0.30319System.Drawing.dll@std

И получил огромное количество ошибок, подобных этому примеру:

C:WindowsMicrosoft.NETFrameworkv4.0.30319System.Windows.Forms.dll @ cs.система.окна.формы.ImageList (Finalize): 1: символ 0: недопустимое переопределение поля 'Finalize': class не имеет супер класса C:WindowsMicrosoft.NETFrameworkv4.0.30319System.Windows.Forms.dll @ уу.система.окна.формы.ImageList: 1: символ 0: определен в этом классе

Так где же я ошибаюсь? Или что я должен добавить / отредактировать, чтобы начать использовать Net Framework в проекте haxe?

1 3

1 ответ:

Ошибки финализатора, которые вы получаете, являются известной проблемой с -net-lib, см. #5241. К счастью, в октябре было исправлено, которое включено в Haxe 4.0.0-preview.2 . Исправление не включено в последнюю стабильную версию (3.4.4).