如何 运行 来自 .NET 的 Progress 程序?

How to run a Progress program from .NET?

我从这样的 Progress 会话实例化一个 .NET/C# class

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

据我了解,myObj 实例 运行s "in the Progress session"。所以应该可以从 myObj(这是 .NET 代码)调用另一个 Progress 程序,即我需要一个 C# 中的语句,它可以 运行 Progress 程序(比如 RUN program.p. in Progress , 但在 C# 中).

可以吗? 运行 来自 .NET 对象的 Progress 程序是否有其他可能性,它在 Progress 会话中 运行ning?

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

myObj:MyEvent:订阅 ("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 class 可以实现 .NET 接口,然后可以从 .NET 对象调用。