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

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

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


person Dave    schedule 06.01.2009    source источник


Ответы (4)


Если вам нужна конкретная статья Delphi об этом:

Использование сборки .NET через COM, Джим МакКит

Это довольно просто, если у вас есть все шаги.

person Jim McKeeth    schedule 06.01.2009

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

http://atozed.com/CrossTalk

person user394033    schedule 16.07.2010
comment
CrossTalk только для D2009 +. Не для D2007. - person Bigman74066; 26.11.2019
comment
Наша организация использует CrossTalk с Delphi 2007, поэтому я не согласен с приведенным выше комментарием. - person Allan F; 05.05.2020

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

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

person Lars Truijens    schedule 06.01.2009

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

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

person Simon Temlett    schedule 06.01.2009
comment
Если для этого есть структура, то, очевидно, вы МОЖЕТЕ смешивать управляемый и неуправляемый код в одном приложении. Это не волшебство. - person Rob Kennedy; 06.01.2009