Интеграция с C # и Delphi - PullRequest
2 голосов
/ 06 марта 2012

В настоящее время у нас есть пара проектов, написанных на Delphi 6. Из-за специфических компонентов, которые используются в этих проектах (компоненты также написаны на Delphi 6), преобразовать его в более новую версию нелегко.

Поскольку я предпочитаю разработку .NET, а наши новые продукты разрабатываются в .NET, я хотел бы разработать новые функциональные возможности с использованием этих технологий. C # будет языком программирования.

Мой вопрос: как интегрировать новые функции, разработанные в C #, с текущим кодом в Delphi? Это хорошая идея и какие могут быть проблемы? Если у кого-то есть подобный опыт, было бы слышать о преимуществах и недостатках.

Я слышал об интеграции в способ разработки .dll с C # и использования его из кода Delphi.

TnX заранее!

Неманья

Ответы [ 4 ]

6 голосов
/ 06 марта 2012

Вы можете использовать COM (ActiveX) в обоих направлениях.

Так что да, вы можете создать DLL на C #, пометить ее как COM-видимую и импортировать в Delphi.

Но вы не можете использовать простые (не COM) библиотеки DLL таким образом.

2 голосов
/ 07 марта 2012

COM, вероятно, будет моим выбором.Однако, если по какой-то причине вы хотели избежать COM, вы можете взглянуть на очень изящный Unmanaged Exports от Robert Giesecke.

Unmanaged Exports - это задача MSBuild, которая по существу позволяетэкспортировать статические функции из ваших сборок .Net, которые будут использоваться как обычные собственные экспорты DLL.

2 голосов
/ 06 марта 2012

Мой первый порт захода, вероятно, будет изучать WCF (написанный на C #) и заставлять Delphi говорить с ним.

DLL - неплохая идея, но я просто думаю, что поместить ее в WCF - это большемасштабируемый + портативный.

1 голос
/ 07 марта 2012

Вы можете проверить Hydra из RemObjects. Это позволяет использовать собственный и управляемый код в одном приложении.

http://www.remobjects.com/hydra/default.aspx

...