如何从.NET运行进度程序?

时间:2018-10-05 10:26:33

标签: c# .net openedge progress-4gl

我从这样的Progress会话中实例化.NET / C#类

DEFINE VARIABLE myObj as CLASS MyClass.
myObj = NEW MyClass("param").
/* do something with myObj ... */

据我了解,myObj实例在“进度会话”中运行。因此应该可以从myObj(是.NET代码)中调用另一个Progress程序,即我需要C#中的一条语句可以运行Progress程序(例如,RUN program.p.在Progress中,但是在C#中) )。

是否可以这样做?是否还有其他可能性可以从运行在Progress会话中的.NET对象运行Progress程序?

1 个答案:

答案 0 :(得分:1)

如果.NET对象在Progress运行时中执行,则可以订阅.NET事件(只要它们正在实现System.EventHandler派生的签名)。

myObj:MyEvent:Subscribe(“ EventHandlerProcedure”)。

PROCEDURE EventHandlerProcedure:
    DEFINE INPUT PARAMETER sender AS System.Object    NO-UNDO.
    DEFINE INPUT PARAMETER e      AS System.EventArgs NO-UNDO .

END PROCEDURE.

其他可能的回叫机制需要OO-ABL。 OO-ABL类可以实现.NET接口,然后可以从.NET对象中调用。