Function Powerbuilder 12.5-数据窗口上的功能

Function Powerbuilder 12.5-数据窗口上的功能,function,global,powerbuilder,datawindow,Function,Global,Powerbuilder,Datawindow,我注意到PB12和PB12.5之间的行为发生了变化(均已修补)。 我有很多带有全局函数的数据窗口。在PB的早期版本中,这些函数只有在datawindow获得焦点(getfocus事件)时才会启动,这非常适合应用程序 这些函数现在似乎一直被触发(似乎是在mousemove事件中,但我不能确定) 有没有其他人也注意到了这一点?有什么解决办法吗? 谢谢事实上,我注意到了恰恰相反的情况:他们总是比只关注焦点更频繁地开火。由于表达式可以包含像FirstOnPage和LastOnPage这样的值,所以它们必

我注意到PB12和PB12.5之间的行为发生了变化(均已修补)。 我有很多带有全局函数的数据窗口。在PB的早期版本中,这些函数只有在datawindow获得焦点(getfocus事件)时才会启动,这非常适合应用程序

这些函数现在似乎一直被触发(似乎是在mousemove事件中,但我不能确定)

有没有其他人也注意到了这一点?有什么解决办法吗?
谢谢

事实上,我注意到了恰恰相反的情况:他们总是比只关注焦点更频繁地开火。由于表达式可以包含像FirstOnPage和LastOnPage这样的值,所以它们必须包含

Powersoft/Sybase/SAP的建议一直是在表达式中谨慎使用全局函数,因为它们经常使用。(我清楚地记得在圣地亚哥/科罗纳多举行的第一次PowerBuilder会议上听到了这一建议,这将使该建议接近PB3发布日期。)如果PB12只针对GetFocus,那可能是一个非常版本特定的错误,因为它会破坏许多应用程序,因此它会很快得到修复

祝你好运


特里。

事实上,我注意到了恰恰相反的情况:他们总是不只是集中精力就开枪。由于表达式可以包含像FirstOnPage和LastOnPage这样的值,所以它们必须包含

Powersoft/Sybase/SAP的建议一直是在表达式中谨慎使用全局函数,因为它们经常使用。(我清楚地记得在圣地亚哥/科罗纳多举行的第一次PowerBuilder会议上听到了这一建议,这将使该建议接近PB3发布日期。)如果PB12只针对GetFocus,那可能是一个非常版本特定的错误,因为它会破坏许多应用程序,因此它会很快得到修复

祝你好运


Terry。

我记得使用PB11.5时,我必须做一些事情,比如隐藏/显示数据窗口,以迫使它重新评估。如果更多的事情导致它重新评估,我不会感到惊讶。调用全局函数的表达式在哪里?它们是在计算字段中还是在对象属性中?数据窗口中的全局函数通常是个坏主意。它们通常可以通过向结果集中添加额外的列,并在这些隐藏列上编写表达式来建模。全局函数是做什么的?全局函数在计算字段中。它们往往是相当简单的sql命令(例如查找某个内容的描述,或翻译成另一种语言(应用程序具有翻译的查找表))。我记得,在PB 11.5中,我必须执行一些操作,如隐藏/显示数据窗口,以迫使它重新评估。如果更多的事情导致它重新评估,我不会感到惊讶。调用全局函数的表达式在哪里?它们是在计算字段中还是在对象属性中?数据窗口中的全局函数通常是个坏主意。它们通常可以通过向结果集中添加额外的列,并在这些隐藏列上编写表达式来建模。全局函数是做什么的?全局函数在计算字段中。它们往往是相当简单的sql命令(例如查找某个内容的描述,或翻译为另一种语言(应用程序具有翻译的查找表))。感谢您的回复。我很少使用它们,我从不在报告中使用它们。我只在用户修改数据窗口上的一行的情况下使用它们。在我注意到问题的情况下,有一个用于数据输入的大型dw。用户可以基于此dw打印表单。另一个窗口将弹出以处理打印选项。当用户返回dw时,dw上的一个函数将启动,以返回上次打印表单的“日期和用户名”。它需要运行一个DB查询来获取此信息,以前它只启动一次,现在它一直都在启动-导致大量不必要的DB流量。我是否应该完全删除dw上的全局函数,并将其编码到activate或getfocus事件中?activate可能太频繁,包括其他应用从您的应用程序获取焦点的次数(我发现电子邮件通知程序和其他“后台”流程就是这样臭名昭著的)当打印对话框关闭时?正确操作,您甚至可以将其缩小到用户实际打印的次数,不包括用户取消打印对话框的次数。感谢您的回复。我很少使用它们,我从不在报表上使用它们。我只在用户修改数据窗口上的一行的情况下使用它们。在这种情况下,我不会问题在于数据输入有一个较大的dw。用户可以基于此dw打印表单。另一个窗口会弹出以处理打印选项。当用户返回dw时,dw上的一个函数会触发以返回“日期和用户名”上一次打印表单是为了。它需要运行DB查询来获取此信息,以前它只触发一次,现在它一直都在触发-导致大量不必要的DB流量。我是否应该完全删除dw上的全局函数,并将其编码到activate或getfocus事件中?activate可能太频繁,包括类似times anot的时间她的应用程序吸引了你的注意力(我发现电子邮件通知程序和其他“后台”程序就是因为这个而臭名昭著)。从描述来看,为什么不在打印对话框关闭时做一个Modify()呢?做得好,你甚至可以将它缩小到用户实际打印的次数,不包括用户取消打印对话框的次数。