【问题标题】:Use .NET dll (class library C#) in 4GL [closed]在 4GL 中使用 .NET dll(类库 C#)[关闭]
【发布时间】:2014-07-20 12:12:39
【问题描述】:

我想在 4GL Progress OpenEdge 中使用用 C# 编写的 .NET 类库,但我没有找到好的工作示例。进步说可以做我想做的事,但是没用。

【问题讨论】:

    标签: c# progress-4gl openedge dllregistration


    【解决方案1】:

    根据 Progress 的版本,可能会在 4GL 中本地调用 .Net 类。然而,这有一些限制。例如,进度是非常单线程的,无法处理多线程 .Net 类(例如,如果事件发生在第二个线程中)。在 10.2B 左右添加了基本支持,但后来又增加了。

    您可以查看这些(大)文档:

    它们主要是关于 GUI 编程,但可以作为参考。

    您需要做的第一件事是设置一个assembly.xml 文件以将您的组件/类添加到您的环境中。之后,这取决于您的特定课程,但基本的 OOPABL “非常”简单。

    DEFINE VARIABLE c AS CLASS System.Collections.ArrayList.
    c = NEW System.Collections.ArrayList().
    

    【讨论】:

      【解决方案2】:

      The progress knowledgebase states:

      可以通过使用从 4GL 调用 .Net 程序集 (DLL) 4GL 和 .Net 程序集之间的 COM (ActiveX) 包装器。这是 您有责任编写 COM (ActiveX) 包装程序。帮助 在实施这超出了技术支持的范围和 我们强烈建议您利用 Microsoft 拥有的资源 可 (msdn.microsoft.com) 为您提供帮助。

      这篇文章可能会有所帮助: Calling a .NET Component from a COM Component

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-07
        • 1970-01-01
        • 1970-01-01
        • 2014-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多