我在PowerBuilder 12.5.1中有一个应用程序,它有一个只读网格数据窗口,是主细节(PFC链接服务)的一部分。
我想强调一些包含某些字符串的字段。 为此,我创建了一个全局函数f_colorforkeywords,它接收字符串并返回背景颜色,白色或黄色。 在数据窗口,选项卡背景中,我将背景颜色设置为函数,调用我的全局函数:
f_colorforkeywords( content_of_this_field )
在PowerBuilder IDE中,即使从性能的角度来看,这也很有效:无论何时加载新数据,网格都会获得我想要的颜色。 但是,当我编译可执行文件并运行它时,根本不会调用全局函数。
我也尝试在PBR文件中添加全局功能,但没有成功。
发生了什么事?
答案 0 :(得分:1)
这可能是也可能不是你所看到的。我看到继承的事件失去了勾选标记,表示" 扩展祖先脚本"。
我无法记住为什么删除复选框的任何押韵或理由,但可能是在后代没有任何脚本的情况下,但是在较低级别有脚本后代。
这发生了不止一次所以这是一个问题... hth
类层次结构示例
u_dw - ue_postopen有代码
v
u_dw_udi - ue_postopen后裔的复选框已取消选中'用于扩展祖先脚本(神秘)
v
u_dw_app - ue_postopen后代有代码,没有触发,因为u_dw_udi没有扩展,也没有显式调用super。如果我记得这个后代有复选框所以一切都很好看,我们不得不把测试调试消息全部放在我们想出来之前。很奇怪。
我不确定这个解决方案是否与您所看到的可能不相关。根据PB帮助,唯一没有复制到exe的东西是。
如果DataWindow对象d_emp使用以下语句动态地与DataWindow控件关联,则不会复制d_emp:
dw_info.DataObject =" d_emp"不会复制以下脚本中动态分配的位图文件:
IF余额< 0那么p_logo.PictureName =" frown.bmp" ELSE p_logo.PictureName =" smile.bmp" END IFT对以下窗口脚本中的字符串变量的窗口w_go的引用未找到PowerBuilder在构建可执行文件时,因此w_go不会复制到可执行文件中:
window mywinstring winname =" w_go" Open(mywin,winname)
答案 1 :(得分:0)
tabBackColor没有改变的问题是什么?在窗口7下的12.5中,这可以被认为是预期的行为。打开"在XP"下使用Windows经典模式并且tabBackColor的更改将起作用。如果没有选中此选项,PowerBuilder将遵循系统颜色。如果Windows经典模式不可接受,请将tabTextColor更改为指示符而不是tabBackColor。