Могу ли я использовать .NET DLL в "Delphi 2007 для Win32"?

Можно ли использовать .NET DLL в Delphi 2007 для Win32? Я попытался импортировать DLL так же, как я сделал для компонента ActiveX, но он не работает (Component Menu → Import Component → Import.NET Assembly.

Возможно ли, и если да, то каковы шаги?

Ответы

Ответ 2

Конечно. Вам просто нужно сказать, какие части вашего кода должны быть доступны именно так. Вы можете сделать это через ComVisibleAttribute. Самое быстрое исправление заключается в установке [assembly: ComVisible (True)] в ваш .dpk, который делает все общедоступным. Затем вы можете использовать метод, который вы пытались импортировать.

Вы также можете делать неуправляемый экспорт, который можно вызывать как обычные DLL файлы.

Ответ 3

CrossTalk из Atozed Software позволяет использовать сборки .NET из Delphi без использования COM, без регистрации DLL и может использовать оригинальные сборки без изменений.

http://atozed.com/CrossTalk

Ответ 4

Я не думаю, что вы можете это сделать, напрямую смешивая управляемый и неуправляемый код в том же приложении.

Однако у RemObjects есть фреймворк Hydra, который позволяет использовать .Net и Win32 в одном приложении.