如何在 OpenEdge Progress 4GL 中创建 GUI
How to create GUI in OpenEdge Progress 4GL
在看一个用 Progress 4GL 开发的框架时,我看到源代码如下:
DEFINE FRAME FRM1
Field1 AT ROW 1.54 COL 3 NO-LABEL
Field2 AT ROW 1.81 COL 33
Field3 AT ROW 2.54 COL 7.29 COLON-ALIGNED
...
这种硬编码的工作方式与 Java (Swing) 和 Delphi(面板)中的 GUI 开发有很大不同,后者使用通用布局,对调整大小有影响,使用不同的决议,...
我的同事不知道我在说什么,因此我的问题是:OpenEdge Progress 4GL 中的现代布局是否可行?
提前致谢
老化石(像我)使用文本编辑器编写代码,我们中的一些人更喜欢手动布局。
但是很酷的孩子们使用像 Progress Developer Studio for OpenEdge 这样的可视化 IDE 来布局他们的 GUI 东西。
(PDSOE 支持“往返”编辑,因此如果我不想使用可视化工具,我可以弹出打开生成的代码并手动调整内容。)
4GL GUI 基于旧的 windows 技术,具有匹配的局限性。
您有 2 个 UI 迁移选项。
- 转到可以与 4GL 本地交互的 .NET,或者
- 使 API 可用 - 然后您可以使用任何支持对服务器进行 REST 调用的 UI 系统。这将需要一个 Progress Appserver 来实现。
Define frame 定义静态框架。大小和小部件在编译时定义。
创建框架在 运行 时间创建一个动态框架,可以在 运行 时间填充动态创建的小部件。
我们有一个系统层,可以将我们的后端定义转换为经典 windows 小部件或发送到 javascript 呈现它的浏览器的数据集。
对于windows 客户端,有一个.p 负责根据数据集创建所有小部件。在某些时候 - 为了好玩 - 我还创建了一个 .p 来创建 .Net 小部件而不是经典的 ABL 小部件。
在看一个用 Progress 4GL 开发的框架时,我看到源代码如下:
DEFINE FRAME FRM1
Field1 AT ROW 1.54 COL 3 NO-LABEL
Field2 AT ROW 1.81 COL 33
Field3 AT ROW 2.54 COL 7.29 COLON-ALIGNED
...
这种硬编码的工作方式与 Java (Swing) 和 Delphi(面板)中的 GUI 开发有很大不同,后者使用通用布局,对调整大小有影响,使用不同的决议,...
我的同事不知道我在说什么,因此我的问题是:OpenEdge Progress 4GL 中的现代布局是否可行?
提前致谢
老化石(像我)使用文本编辑器编写代码,我们中的一些人更喜欢手动布局。
但是很酷的孩子们使用像 Progress Developer Studio for OpenEdge 这样的可视化 IDE 来布局他们的 GUI 东西。
(PDSOE 支持“往返”编辑,因此如果我不想使用可视化工具,我可以弹出打开生成的代码并手动调整内容。)
4GL GUI 基于旧的 windows 技术,具有匹配的局限性。
您有 2 个 UI 迁移选项。
- 转到可以与 4GL 本地交互的 .NET,或者
- 使 API 可用 - 然后您可以使用任何支持对服务器进行 REST 调用的 UI 系统。这将需要一个 Progress Appserver 来实现。
Define frame 定义静态框架。大小和小部件在编译时定义。
创建框架在 运行 时间创建一个动态框架,可以在 运行 时间填充动态创建的小部件。
我们有一个系统层,可以将我们的后端定义转换为经典 windows 小部件或发送到 javascript 呈现它的浏览器的数据集。
对于windows 客户端,有一个.p 负责根据数据集创建所有小部件。在某些时候 - 为了好玩 - 我还创建了一个 .p 来创建 .Net 小部件而不是经典的 ABL 小部件。