2

目前我们有几个用 Delphi 6 编写的项目。由于在这些项目中使用了特定的组件(这些组件也是用 Delphi 6 编写的),因此在较新的版本中转换它并不容易。

由于我更喜欢​​ .NET 开发并且我们的新产品是在 .NET 中开发的,因此我想使用这些技术开发新功能。C# 将成为编程语言。

我的问题是:如何将 C# 开发的新功能与 Delphi 中的当前代码集成?这是个好主意吗?可能会出现什么问题?如果有人有类似的经历,那将是听到优点和缺点。

我听说以集成方式使用 C# 开发 .dll 并从 Delphi 代码中使用它。

提前TnX!

内马尼亚

4

4 回答 4

6

您可以两种方式使用 COM (ActiveX)。

所以是的,您可以在 C# 中创建一个 DLL 并将其标记为 COM 可见并将其导入 Delphi。

但是您不能以这种方式使用简单的(不是 COM)DLL。

于 2012-03-06T10:43:57.057 回答
2

我的第一个停靠点可能是研究 WCF(用 C# 编写)并让 Delphi 与之交谈。

dll 不是一个坏主意,但我只是认为将它放在 WCF 中更具可扩展性+可移植性。

于 2012-03-06T10:42:54.287 回答
2

COM 可能是我的选择。但是,如果出于某种原因您想避免使用 COM,您可以查看 Robert Giesecke 非常漂亮的Unmanaged Exports

非托管导出是一项 MSBuild 任务,它本质上允许您从 .Net 程序集中导出静态函数,以作为普通的本机 DLL 导出使用。

于 2012-03-07T11:39:12.627 回答
1

您可能想从 RemObjects 中查看 Hydra。它允许在同一应用程序中使用本机代码和托管代码。

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

于 2012-03-06T23:21:08.670 回答