OpenWithParm打开窗口导致的PB11.5编译问题解决之道
问题描述如下
现象: pb11.5将程序打包成一个独立的exe文件,不包含其他pbd文件或者dll文件,编译通过,程序可以执行,但当打开用OpenWithParm方式打开的功能模块时,程序报错“unknown object type: w_xxx”退出,其中w_xxx为程序中的一窗口对象。
尝试解决办法:
尝试一,在应用的open事件中添加 IF 语句,语句中只包含 open(w_xxx);
尝试二,在应用中自定义事件【事件程序执行不会调用】,事件中只包含 open(w_xxx);
尝试一和尝试二在编译时,pb编译预处理结束后,编译终止,pb程序中未提示任何错误信息,在操作系统临时文件夹下,找不到编译log。
尝试三,在应用中新建一窗口对象,在该窗口对象的自定义函数中添加open(w_xxx)——编译通过,但程序任然报错“unknown object type: w_xxx”退出。
请有这方面经验的朋友给予指导,先谢了。
[解决办法]
把你要打开对象的pbl包含在应用里,编译时选择生成pbd,就好了
[解决办法]
在多个pbl的情况下,编译成单个EXE时,如果只是动态引用数据窗口对象,通过指定资源文件就可以了,如果有其它自定义窗口或对象,要么把它整个你的主PBL中,要么只能把它所在的pbl单独编译成pbd,通过AddtoLibraryList加载到应用,再进行引用
[解决办法]
compile the whole project completely again