Можно ли использовать .NET DLL в Delphi 2007 для Win32? Я попытался импортировать DLL так же, как и для компонента ActiveX, но, похоже, он не работает (меню «Компонент» -> «Импортировать компонент» -> «Импортировать сборку .NET»).
Возможно ли это, и если да, то каковы шаги?





Я не думаю, что вы сможете сделать это, напрямую смешивая управляемый и неуправляемый код в одном приложении.
Однако у RemObjects есть структура под названием Гидра, которая позволяет использовать .Net и Win32 в одном приложении.
Что вы можете. Вам просто нужно указать, какие части вашего кода должны быть доступны таким образом. Вы можете сделать это через ComVisibleAttribute. Самое быстрое исправление - это поместить [сборку: ComVisible (True)] в ваш .dpk, что сделает все общедоступным видимым. Затем вы можете использовать метод, которым вы пытались импортировать сборку.
Вы также можете выполнять неуправляемый экспорт, который можно вызывать как обычные файлы DLL.
Если вам нужна конкретная статья Delphi об этом:
Использование сборки .NET через COM, Джим МакКит
Это довольно просто, если у вас есть все шаги.
CrossTalk от Atozed Software позволяет использовать сборки .NET из Delphi без использования COM, без регистрации DLL и может использовать оригинальные сборки без изменений.
CrossTalk только для D2009 +. Не для D2007.
Наша организация использует CrossTalk с Delphi 2007, поэтому я не согласен с приведенным выше комментарием.
Если для этого есть структура, то, очевидно, вы МОЖЕТЕ смешивать управляемый и неуправляемый код в одном приложении. Это не волшебство.