我在数据窗口的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
答案 0 :(得分:4)
已经给出了问题的正确答案,但我将提出一个逆向观点:你应该(实际上)从不做你所要求的。当您在需要从另一个系统事件调用的系统事件中实现功能时,您可能应该将该功能分解为单独的自定义用户事件(或函数)并从两个位置调用它。为什么呢?
有一次,我确信调用ButtonClicked似乎更容易。我打赌你已经在这个决定的边缘摇摇欲坠,并且带着一点点想象力,我希望你能将剧本拆分成更模块化的东西。从不后悔分手......
祝你好运,特里。
答案 1 :(得分:2)
函数的错误参数列表:buttonclicked
该消息告诉您,您没有向函数(或事件)传递正确类型和/或数量的参数。
ButtonClicked
事件预计会有3个参数,如果你想自己调用它们必须模拟:
row
已调用按钮的行号ReturnCode
由按钮执行的操作返回的长值dwo
数据窗口对象。它是对鼠标指针“点击”的控件的引用,您可以传递dw.object.name_of_your_button
您可以尝试使用以下内容:
long ll_arc
dw_Command.event buttonclicked( dw_Command.getrow(), ll_arc, dw_Command.object.b_read )