powerbuilder 应用程序开发指南 PowerBuilder软件使用过程中常见问题处理(1)

一、attempt to open datawindow failed

安装了不同版本的PB软件后,默认打开方式为后一个安装的版本。

如果想改为第一个安装版本,在“右键”——》”打开方式“中选择第一个版本的运行图标。

如果打开程序后出现:attempt to open datawindow failed 错误:

请在注册表(快捷键:window R 后,输入:regedit)做以下设置:

[HKEY_CLASSES_ROOT\Applications\PB110.exe\shell\open\command] 的值

改为:

"D:\Program Files\Sybase11\PowerBuilder 11.0\PB110.EXE" /workspace %1

[HKEY_CLASSES_ROOT\Applications\pb90.exe\shell\open\command] 的值

改为:

"D:\Program Files\Sybase\PowerBuilder 9.0\pb90.exe" /workspace %1

[HKEY_CLASSES_ROOT\pbw_auto_file\shell\open\command]

改为:

"D:\Program Files\Sybase\PowerBuilder 9.0\pb90.exe" /workspace %1

二、数据窗口datawindow打不开

[HKEY_USERS\S-1-5-21-2657203090-2043929787-1788226778-1000\Software\Sybase\PowerBuilder\12.5\Layout\Default]

删除datawindow项

三、安装pb12.5卡住没反应

powerbuilder 应用程序开发指南 PowerBuilder软件使用过程中常见问题处理(2)

一般是某些进程阻塞了,把其他能关的程序一个个关掉试试

目前已知teamview 和 桌面日历软件 会阻塞

四、pb10以上版本调用某些api会出现乱码

pb10以上版本由于使用Unicode字符编码,如调用ANSI编码的api则会出现乱码现象,解决办法如下:

定义api时加上ALIAS FOR "foo;ansi"

如:Function uLong foo (ref String ipaddress) Library "GetIP.dll" ALIAS FOR "foo;ANSI"

五、pb断点时出现重影,不能操作

powerbuilder 应用程序开发指南 PowerBuilder软件使用过程中常见问题处理(3)

是某些插件阻止了重绘菜单,卸载第三方PB插件试试

六、PB程序用sqlmonitor 跟踪出来的sql都是一个字母 s

精简版oracle客户端的问题

常见问题还有:程序路径不能带括弧“(”,也是精简客户端的问题

要么装其他版本的精简客户端,要么安装完整版客户端

七、编译程序报错,直接退出

powerbuilder 应用程序开发指南 PowerBuilder软件使用过程中常见问题处理(4)

问题原因:程序根目录下有个pbo8490.dll 删了就行了。。

八、提示到期,不能使用

自行百度,找破j补丁。pb9推荐使用8836版本补丁;pb12.5 推荐使用5629版本。安装过程中只要安装纯pb软件就行,infomaker,sysbase数据库什么的都不用安装。

九、插入OLE控件点击insert control时,程序闪退

当我们点击OLE控件中的insert control时,pb会搜索那些控件可用,并且在PB中显示出来。PB搜索控件的位置为:注册表中的"HKEY_CLASSES_ROOT/CLSID"下的子项(为DLL、OCX文件注册信息)搜索到保存的位置在:"HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/8.0/OLE Object Bitmaps/..."也就是说pb搜索CLSID的子项保存在OLE Object Bitmaps中,当搜索CLSID中的DLL或OCX控件和PB有冲突时,CLSID后面的DLL、OCX控件就不会保存在OLE Object Bitmaps中,也就是说OLE Object Bitmaps没有完全加载所有控件,有的控件冲突导致中断使PB报错,找出冲突的控件是关键参考:https://blog.csdn.net/lijianhe043/article/details/6460917

十、内存不能为read

有时候操作某个功能的时候报错:"0x10c725dd"指令引用的"0x00000004"内存.该内存不能为"read".这个问题我目前没有解决方案。您如果能解决给您发红包。

网上的一个说法可以试一试:“估计是pb的版本的补丁不一样建数据窗口的那个补丁比你的要新”

#PB# #powerbuilder#

,