如何避免 AppBuilder 删除代码片段

How to avoid AppBuilder removing pieces of code

我正在开发基于 AppBuilder 11.6 版的 Progress-4GL 编程环境。

到目前为止,我一直在更改现有的 *.w 和 *.p 文件,但现在我想从头开始创建我的 *.w 文件。

我创建了一个 window 并放置了一个浏览器、一个填写字段和一个按钮。现在我想向该按钮添加一个事件。为此,我将以下行添加到 *.w 文件中:

ON CHOOSE OF btn-Start_Query IN FRAME DEFAULT-FRAME
DO:
    MESSAGE "button is pushed" VIEW-AS ALERT-BOX.
END.

但是,当我保存 *.w 文件时,在 AppBuilder 中重新打开它并再次保存文件,那些代码行被删除了。

我已经明白,为了避免这种情况,我需要用 Scoped-defineAnalyze:suspend/resume 行“包装”这些代码行,像这样:

&Scoped-define SELF-NAME btn-Start_Query
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL btn-Start_Query C-Win
ON CHOOSE OF btn-Start_Query IN FRAME DEFAULT-FRAME
DO:
    MESSAGE "button is pushed" VIEW-AS ALERT-BOX.
END.
&ANALYZE-RESUME

但是,这似乎不起作用。

你能解释一下我必须做什么才能避免我的代码行被删除吗?

顺便说一句:我知道我使用的是非常落后的技术,但我在这里只工作了两周,所以我没有权力强迫我的老板改变他的开发环境,只是为了我.

推荐的方法是使用 AppBuilder 的向导为您创建具有所需 AppBuilder 标记的触发器块。

  • 将按钮添加到 Window
  • Select按钮设计canvas
  • 在 AppBuilder 主菜单中选择“编辑代码”按钮 window(铅笔)

这将创建一个空的默认触发器块(如果是按钮,则为选择)。要创建不同的事件,请使用部分编辑器中的“新建...”按钮 window。