1

我在 PowerBuilder 12.5.1 中有一个应用程序,它带有一个只读网格数据窗口,是主从(PFC 链接服务)的一部分。

我想强调一些包含某些字符串的字段。为此,我创建了一个全局函数 f_colorforkeywords,它接收字符串并返回背景颜色,白色或黄色。在数据窗口的选项卡背景中,我将背景颜色设置为一个函数,它调用我的全局函数:

f_colorforkeywords( content_of_this_field )

即使从性能的角度来看,这在 PowerBuilder IDE 中也非常有效:每当加载新数据时,网格都会在我想要的位置获得颜色。但是,当我编译一个可执行文件并运行它时,根本不会调用全局函数。

我也尝试在PBR文件中添加全局函数,没有成功。

怎么了?

4

2 回答 2

1

这可能是也可能不是您所看到的。我已经看到继承的事件丢失了扩展祖先脚本”的复选标记。

我不记得为什么删除复选框的任何押韵或原因,但可能是在后代中没有任何脚本但在较低级别的后代中有脚本的情况下。

这发生了不止一次,所以这是一个问题...... hth

类层次结构示例

u_dw - ue_postopen 有代码

v

u_dw_udi - ue_postopen 后代的复选框“未选中”用于扩展祖先脚本(神秘)

v

u_dw_app - ue_postopen 后代有代码,未触发,因为 u_dw_udi 没有扩展并且没有显式调用 super。如果我记得这个后代有复选框,所以一切看起来都很好,我们必须在我们弄清楚之前把测试调试消息放在所有地方。奇怪的一个。

我不确定这个解决方案是否与您所看到的有关。根据 PB 帮助,唯一没有复制到 exe 的东西是。

  1. 如果 DataWindow 对象 d_emp 使用以下语句与 DataWindow 控件动态关联,则不会复制 d_emp:

  2. dw_info.DataObject = "d_emp"以下脚本中动态分配的位图文件不会被复制:

  3. IF Balance < 0 THEN p_logo.PictureName = "frown.bmp"ELSE p_logo.PictureName = "smile.bmp"END IF PowerBuilder 在构建可执行文件时未在以下窗口脚本中的字符串变量中找到对窗口 w_go 的引用,所以 w_go 不会被复制到可执行文件中:

窗口 mywinstring winname = "w_go"Open(mywin,winname)

于 2014-12-24T03:38:06.237 回答
0

tabBackColor 没有改变的问题吗?在 Window 7 下的 12.5 中,这可以被视为预期行为。打开“在 XP 下使用 Windows 经典模式”,tabBackColor 的更改将起作用。如果不选中此选项,PowerBuilder 将遵循系统颜色。如果 Windows 经典模式不可接受,请将 tabTextColor 更改为您的指示符,而不是 tabBackColor。

于 2014-12-29T19:06:37.407 回答