Можно ли использовать .NET DLL в «Delphi 2007 для Win32»? - PullRequest
14 голосов
/ 06 января 2009

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

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

Ответы [ 4 ]

9 голосов
/ 06 января 2009

Если вы хотите написать статью о Delphi:

Использование сборки .NET через COM от Jim McKeeth

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

1 голос
/ 16 июля 2010

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

http://atozed.com/CrossTalk

1 голос
/ 06 января 2009

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

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

0 голосов
/ 06 января 2009

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

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

...