有关Progress-4GL中事件处理的一些问题

多米尼克

我被要求在* .w文件中的填充字段上实现事件处理程序(如果是F5,则应执行某些操作)。

我开始执行以下操作:

ON F5 OF particular_fill-in_Field
DO:
    ...
END.

这没有用,后来我意识到源代码中已经包含以下内容:

内部包含文件:

&GLOBAL-DEFINE SEARCH-KEYBOARD "F5":u
&GLOBAL-DEFINE SEARCH-MOUSE MOUSE-SELECT-DBLCLICK

* .w文件里面:

ON {&SEARCH-KEYBOARD},{&SEARCH-MOUSE} OF particular_fill-in_Field
DO: 
...
END.

在查看进度网站时,我发现以下URL,解释了ON-statement:

ON CHOOSE OF b_next, b_prev DO:
  IF SELF:LABEL = "Next" THEN
  ...

这给我一些问题:

  1. 当我添加ON F5一行代码时,F5SEARCH-KEYBOARD)事件有两个事件处理程序为什么还要编译并编译,为什么要使用已经存在的代码行而不是我添加的代码?
  2. URL上的示例显示了如何在不同的窗口小部件上处理相同的事件(您可以使用该SELF对象来了解哪个窗口小部件启动事件处理程序),但是我ON {&SEARCH-KEYBOARD},{&SEARCH-MOUSE} OF ...可以知道一个窗口小部件上的不同事件(例如我吗?该事件被触发,SEARCH-KEYBOARDSEARCH-MOUSE
斯蒂芬·德里森(Stefan Drissen)

在文档的注释中,您指出:

*使用ON语句定义的触发器将一直有效,直到发生以下情况之一:*另一个ON语句为同一事件和小部件定义了另一个触发器(或REVERT)

因此,如果我没看错的话,最后一个ON会获胜,所以我猜想您的ON在另一个ON之后。

您可以使用LAST-EVENT系统句柄LABEL属性来获取事件。

Dominique编辑以供参考

例:

ON {&SEARCH-KEYBOARD},{&SEARCH-MOUSE} OF particular_fill-in_Field
DO: 
    MESSAGE "The launched event is [" LAST-EVENT:LABEL "]" VIEW-AS ALERT-BOX.
    ...
END.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有关SymmetricDS Embedded的一些问题

来自分类Dev

有关班级的一些问题

来自分类Dev

有关资源的一些问题

来自分类Dev

有关Angularjs指令的一些问题

来自分类Dev

有关轮询的一些问题

来自分类Dev

有关光缆的一些问题

来自分类Dev

有关表格,css中的位置的一些问题

来自分类Dev

有关带有Openlayers3的WFS-T的一些问题

来自分类Dev

有关“ angularJS与Plupload一起使用的一些问题

来自分类Dev

有关“ angularJS与Plupload一起使用的一些问题

来自分类Dev

有关克隆/复制TR的一些问题

来自分类Dev

有关使用MongoDB Java驱动程序的一些问题

来自分类Dev

有关何时使用片段和活动的一些问题

来自分类Dev

使用jfugue转换密钥-有关Jfugue的一些问题

来自分类Dev

有关沙发床复制品细节的一些问题

来自分类Dev

有关Objective-C的一些问题

来自分类Dev

有关angular2提供程序的一些问题

来自分类Dev

有关OpenGL透明度的一些问题

来自分类Dev

Scrapy-有关刮论坛的一些问题

来自分类Dev

有关C语言中内存分配的一些问题

来自分类Dev

有关Python功能及其工作方式的一些问题

来自分类Dev

有关异常安全性和内存泄漏的一些问题

来自分类Dev

C ++ STL容器-有关类型的一些问题?

来自分类Dev

有关SSH密钥身份验证的一些问题

来自分类Dev

有关原型和数组的一些问题

来自分类Dev

有关解析multiplt Spring View解析器的一些问题

来自分类Dev

有关沙发床复制品细节的一些问题

来自分类Dev

有关指向班级成员的指针的一些问题

来自分类Dev

有关OpenGL透明性的一些问题