【问题标题】:TOleServer in delphi ... Equivalent .NET Class?delphi中的TOleServer ...等效的.NET类?
【发布时间】:2012-07-27 05:44:42
【问题描述】:

我有一些需要迁移/移植/重写到 .NET 的 delphi 代码

代码使用 TOleServer。请告诉我这个特定类的任何 .NET 等效实现。

是否可以通过非托管代码获得?

谢谢

【问题讨论】:

    标签: delphi delphi-7 delphi-2010


    【解决方案1】:

    COM 服务器可通过COM Interop 在 .NET 中使用。

    您没有提到您的 Delphi 代码如何使用 TOleServer。如果它实现了自己的 COM 服务器,那么您有以下选择:

    • 保持原样并简单地从您的 .NET 代码中引用它,或者
    • 将其作为类移植到 .NET,并在需要时将其公开给 COM

    如果您的 Delphi 代码使用 TOleServer 来引用外部 COM 服务器,您可以在 .NET 中简单地执行相同操作。

    【讨论】:

    • TOndrej,只是出于好奇提出一个问题。我是一名 C# 程序员。我现在有一个 Delphi 项目,我需要将其转换为 .NET,我真的需要一些关于如何继续的建议……我应该学习如何在 Delphi 中编码,然后继续迁移,还是应该使用自动工具输出 C# 代码(使用 Delphi Pascal 代码)...我很想学习 delphi,但我的时间不多了。请提供建议。 (顺便说一句。这个项目与 COM 服务器通信..)
    • 根据您的评论,我假设您的 Delphi 代码使用一个外部 COM 服务器,而不是 实现一个。那么这个 COM 客户端代码就是您需要从本机 Delphi 移植到 .NET 的代码。如果您的时间不够用,最好的选择是聘请既了解 Delphi 又了解 C#/.NET 的人来为您做这件事。另一方面,编写良好、风格良好的 Delphi 代码通常很容易理解。此外,根据代码,在Prism(Delphi for .NET)中重建可能值得一试。祝你好运!
    • 我也是 COM 的新手.. 但我很想学习一些东西,让我看看.. 我会试一试... 非常感谢.. 会及时通知您.我以后肯定会有一些疑问。
    • IEnumObj = interface(IUnknown) ['{0000-0q394039-93849}'] function RemoteNext(a:LongWord; out b:IUnknown; out c:LongWord):HResult;标准调用;结束;
    猜你喜欢
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    相关资源
    最近更新 更多