我正在使用进度版11.6中的appBuilder和过程编辑器。
正如前面提到的一些问题,我经常遇到appBuilder的问题,不想打开文件,破坏它们(删除部分源代码),…,其中一个原因现在似乎是一个程序不能超过32K的限制,包括注释。
起初我想"我们回到石器时代了吗?"
请原谅我的反应。但现在我开始认为我们完全滥用了整个概念,因此我想展示我对W-, p -和I-文件的看法,请确认(或正确):
w文件意味着只包含GUI定义,就像带有一些框架、按钮、填充字段等的表单。,任何真正的编程都需要在p文件中完成。
p文件包含了真正的智能:其中详细阐述了程序和功能,这些程序和功能可以由其他p文件使用,或者最终由w文件使用。
I-files只是用来包含一般行为的。
让我给你一个例子:
W-file:
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 */
...
档案:
PROCEDURE very_large_procedure:
DO /* a lot */
END.
档案(划出):">
/* Describes the help-about menu item */
像这样工作时(只把gui相关的东西放在w文件中,让"real"在p文件中进行编程),则永远不会达到所提到的32K限制。最重要的是,添加一个过程可以很容易地完成,appBuilder不会删除它,因为appBuilder永远不会打开p文件。
我的观点是否正确(I-files又如何)?
如果是:一个技术问题:我如何从w文件中的p文件启动一个过程?(显然,上面提到的例子不能工作,因为在w文件中我没有提到在哪里寻找very_large_procedure
)
命名是任意的,您可能偶尔会发现正在使用其他扩展名。话虽如此:
"W"为"窗口",它应该包含与使GUI工作相关的代码。它经常被滥用来包含任何类型的代码。它通常被那些在应用程序构建器上学习编程的人或从未在Windows以外的任何平台上编程的人以这种方式滥用。
"P"代表"进步";并返回到"程序"。在Windows GUI代码出现之前,它是过去的标准。任何"headless"代码或字符模式代码通常放在。p文件中。
"我表示"包含"。这是一种非常老派的创建可重用代码片段和通用头文件的方法。包含文件通常是参数化的。可能带有命名参数或位置参数。
另一个主要扩展名是". class "文件。这些是OO4GL类(OpenEdge 10及以上)。
启动程序是通过运行它们来实现的:
RUN myproc.p.
或
RUN guiproc.w.
或者,如果你说的"启动"是指"开始一个会话"。然后使用"-p procedureName"启动参数与prowin32.exe或prowin.exe一起用于Windows GUI代码或_progress .exe用于批处理或字符代码。