在4GL中使用.NET dll(类库C#)

时间:2014-07-20 12:12:40

标签: c# progress-4gl openedge dllregistration

我想在4GL Progress OpenEdge中使用用C#编写的.NET类库,但我找不到好的,有效的例子。 Progress表示可以做我想做的事,但它不起作用。

2 个答案:

答案 0 :(得分:0)

<强> 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

祝你好运!

答案 1 :(得分:0)

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

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

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

您需要做的第一件事是设置assemblies.xml文件以将组件/类添加到您的环境中。在那之后,它取决于你的特定课程,但基本的OOPABL是&#34;相当&#34;简单。

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