0

我正在使用 Progress Release 11.6 中的 appBuilder 和过程编辑器。

正如前面的一些问题所提到的,我经常遇到 appBuilder 的问题,不想打开文件,损坏它们(删除部分源代码),......,现在的原因之一似乎是程序的限制不能超过 32K,包括评论。

起初我想“我们回到了石器时代吗? ”,请原谅我的反应。

但现在我开始认为我们完全滥用了整个概念,因此我想展示我对 W-、P- 和 I-文件的看法,请确认(或更正):

W 文件仅用于包含 GUI 定义,例如带有一些框架、按钮、填充字段的表单……任何真正的编程都需要在 P 文件中完成。
P 文件包含真正的智能:其中详细说明了程序和功能,可供其他 P 文件使用,或最终由 W 文件使用。
I 文件只是为了包含一般行为。

让我给你举个例子:

W文件:

DEFINE VARIABLE combo_information VIEW-AS COMBOBOX /* with some information on the content, if this is static */
...
ON CHOOSE OF combo_information DO:
  RUN very_large_procedure.
END.
...
{about.i} /* see here-after */
...

P文件:

PROCEDURE very_large_procedure:
DO /* a lot */
END.

I 文件(about.i):

/* Describes the help-about menu item */

虽然像这样工作(仅将与 GUI 相关的东西放在 W 文件中,并让“真正的”编程在 P 文件中完成),但永远不会达到提到的 32K 限制。最重要的是,添加过程很容易,appBuilder 不会删除它,因为 appBuilder 永远不会打开 P 文件。

我的观点是否正确(以及 I 文件呢)?
如果是:一个技术问题:如何从 W 文件中的 P 文件启动程序?(显然,提到的例子不能像在 W 文件中那样工作,我没有提到在哪里寻找very_large_procedure

4

1 回答 1

4

命名是任意的,您可能偶尔会发现正在使用其他扩展。话说回来:

“W”代表“窗口”,它应该包含与使 GUI 工作相关的代码。它经常被滥用来包含任何类型的代码。它通常被那些在应用程序构建器上学习编码或从未在 Windows 之外的任何东西上编码过的人以这种方式滥用。

“P”代表“进度”并重新连接到“程序”。在 Windows GUI 代码出现之前,它是过去的标准。任何“无头”代码或字符模式代码通常都会进入 dot-p 文件。

“I”代表“包括”。这是一种非常古老的方法来创建可重用的代码片段和常见的“头文件”。包含文件通常是参数化的。可能带有命名或位置参数。

另一个主要扩展名是“.cls”文件。这些适用于 OO4GL 类(OpenEdge 10 及更高版本)。

启动程序是通过运行它们来实现的:

RUN myproc.p.

或者

RUN guiproc.w.

或者,如果“启动”是指“启动会话”,则使用“-p procedureName”启动参数以及用于 Windows GUI 代码的 prowin32.exe 或 prowin.exe 或用于批处理或字符代码的 _progres.exe。

于 2021-02-09T20:56:59.247 回答