我在数据窗口的 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
最佳答案
已给出所提问题的正确答案,但我将提出一个相反的观点:您不应该(实际上)永远不要做您要问的事情。当您在需要从另一个系统事件调用的系统事件中实现功能时,您应该将该功能分解为单独的自定义用户事件(或函数)并从两个地方调用它。为什么?
- 语法更简单(这个问题的存在证明了这一点)。
- 当您知道何时调用代码时,维护代码会更容易。以及在您中奖后接替您的人。
- 今天所需的功能是相同的,但迟早会出现分支。或者有人会尝试在祖先 ButtonClicked 中实现一些东西,认为它只会在单击按钮时触发。 (我知道。有些人就是那样疯狂。)然后你会得到一些意大利面条式的解决方案来跟踪这是否是一个非按钮点击的 ButtonClick ....丑陋的。然后,迟早会有人受伤。
有一次,我确信调用 ButtonClicked 似乎更容易。我敢打赌你已经在那个决定的边缘摇摇欲坠了,并且有点想像力,我希望你能把脚本拆分成更模块化的东西。从不后悔拆散一些东西......
祝你好运
特里。
关于powerbuilder - 调用 ButtonClicked 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12813982/