powerbuilder - 调用 ButtonClicked 事件

标签 powerbuilder

我在数据窗口的 buttonclicked 事件下有一个脚本。我的问题是如何从父窗口 post_open 事件等其他事件中调用特定按钮。

在 Windows post_open 事件中,我有脚本,但在编译时返回 Bad Argument List For Function: buttonclicked 消息。我该如何纠正这个编译错误?

dw_Command.Event buttonclicked('b_read')


DWO: Datawindow
Event: buttonclicked

CHOOSE CASE Lower(dwo.Name)

CASE 'b_read'       

        SetPointer(Hourglass!)
        idt_ServerDate = gnv_app.of_getServerDate( )
        of_getInventoryAdvice( )

CASE 'b_exit'       
        MessageBox('','Close')
        Close(Parent) 

END CHOOSE

最佳答案

已给出所提问题的正确答案,但我将提出一个相反的观点:您不应该(实际上)永远不要做您要问的事情。当您在需要从另一个系统事件调用的系统事件中实现功能时,您应该将该功能分解为单独的自定义用户事件(或函数)并从两个地方调用它。为什么?

  1. 语法更简单(这个问题的存在证明了这一点)。
  2. 当您知道何时调用代码时,维护代码会更容易。以及在您中奖后接替您的人。
  3. 今天所需的功能是相同的,但迟早会出现分支。或者有人会尝试在祖先 ButtonClicked 中实现一些东西,认为它只会在单击按钮时触发。 (我知道。有些人就是那样疯狂。)然后你会得到一些意大利面条式的解决方案来跟踪这是否是一个非按钮点击的 ButtonClick ....丑陋的。然后,迟早会有人受伤。

有一次,我确信调用 ButtonClicked 似乎更容易。我敢打赌你已经在那个决定的边缘摇摇欲坠了,并且有点想像力,我希望你能把脚本拆分成更模块化的东西。从不后悔拆散一些东西......

祝你好运

特里。

关于powerbuilder - 调用 ButtonClicked 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12813982/

相关文章:

powerbuilder - 在多个工作站上提供许可证

wpf - Powerbuilder .net、MVVM 和单元测试

odbc - 有没有办法在不部署 ODBC 或 OLEDB 驱动程序的情况下使用 Powerbuilder 连接到 ASA 数据库?

.net - PowerBuilder 12 的可能性

tcp - Powerbuilder Winsock 库实现

database - PowerBuilder数据库连接池?如何

powerbuilder - 有没有办法处理基于网格的数据窗口中单行下拉列表的动态变化?

post - *如何* Powerbuilder POST 工作?

c# - 将 PowerBuilder 应用程序移植到 .NET

php - MySQL 无法选择在不同 session 中插入的行