急,PB源码运行正常,编译成EXE文件后报错

时间:2022-01-09 23:45:11
各位大侠好:
  最近在写一个程序,前段时间修改了某个祖先对象,之后,每次用源码运行,均需要首先对某一对象(任一对象即可)进行编译(对象右键,Rege...),才可以正常运行,否则报错,括号内为错误:(Sybase,Inc.Porduct File 遇到问题,需要关闭。我们对此引起的不便表示抱歉)
此错误的错误签名是:pbvm90.dll。

当程序编译为exe文件后,运行该exe文件,均出现此错误,无法正常使用,求助如何解决??

23 个解决方案

#1


补充:调试程序,没有问题,不会报错

#2


全编译一次,把全部的PBD再拷进去覆盖一次,包括运行程序的EXE

#3


修改了祖先对象,最好把子对象打开,然后再编译一下

#4


全部重新编译一次试试!

#5


打PB补丁/仔细检查代码/重装PB/切换用户试试/全编译

#6


1.修改了祖先对象,最好把子对象打开,然后再编译一下,这个方法试了,不成功
2.全编译一次,试了,不成功
3.切换用户如何,切换系统登录用户?

#7


把调用祖先对象的PBL,以及祖先 regenerate,再重新编译

#8


目前已经试过的方法:
PBL,regenerate后,重新编译(不行)
PB卸载重装,打补丁7066(不行)
代码已经进行了垃圾收集(不行)

#9


一、将已存在PBD,EXE全部删除
二、重新完全编译一下

#10


重新编译也不可以呀,那你完了.问问sybase公司.或者你查看一下是不是你的PBL只是读属性,更改一下就可以了

#11


在其他机器上试试。

#12


在编译时 Rebuild选full,执行全编译试试,如果不行,那就比较麻烦了。

#13


修改了祖先对象,查看一下子对象是否有冲突或调用错误

#14


在其他机器上试试。

//----------------------------------------------
昨天也碰到这个情况,不知怎么的,源码下运行没问题,编译成exe就报这个错,换了台机编译,头几次成功,可后来也不行了,莫非是Sybase搞的鬼,我的补丁很高PB903_8836.

#15


regenerate/migrate/build

#16


目前已经试过的方法: 
PBL, Full Build ,重建(通过)
PBL,regenerate后,重新编译(通过) 
PB卸载重装,打补丁903_8836(通过) 
代码已经进行了垃圾收集(通过)

//---------------------------------------------

该做的我都试过了,就是编译成exe之后运行报错,我可是正版的PB。

xiyang1011 

患难兄弟

#17


这里是正解:
1. 完全编译
2. 升级
3(重要). 将系统Path和当前工作路径中的旧版本PBvm90.dll等文件删除(就是别让应用程序找到旧的虚拟机)
如果这一切还不OK的话,只能说明楼主人品有严重问题!

#18


在编译时   Rebuild选full

#19


打个PB补丁

#20


用edit source打开源码看看从祖先继承的东西。

#21


1PB打补丁
2升级数据库客户端

我以前也遇到过,我用的是8.0.5客户端连9I数据库

#22


我看上面大家说的,大多都说有可能是pb的问题,
其实我觉得另外一方面是不是你祖先对象程序修改出的问题呢,
看样这个可能性还很高,有可能是你create的对象没有及时destroy,
或者你修改原先程序时增用或改用了某些api,而有些api会导致内存泄露的。。。
建议楼主先把程序恢复到之前版本编译,如果还有问题,那就肯定的新改程序的问题了。

#23


不明LZ在说什么

#1


补充:调试程序,没有问题,不会报错

#2


全编译一次,把全部的PBD再拷进去覆盖一次,包括运行程序的EXE

#3


修改了祖先对象,最好把子对象打开,然后再编译一下

#4


全部重新编译一次试试!

#5


打PB补丁/仔细检查代码/重装PB/切换用户试试/全编译

#6


1.修改了祖先对象,最好把子对象打开,然后再编译一下,这个方法试了,不成功
2.全编译一次,试了,不成功
3.切换用户如何,切换系统登录用户?

#7


把调用祖先对象的PBL,以及祖先 regenerate,再重新编译

#8


目前已经试过的方法:
PBL,regenerate后,重新编译(不行)
PB卸载重装,打补丁7066(不行)
代码已经进行了垃圾收集(不行)

#9


一、将已存在PBD,EXE全部删除
二、重新完全编译一下

#10


重新编译也不可以呀,那你完了.问问sybase公司.或者你查看一下是不是你的PBL只是读属性,更改一下就可以了

#11


在其他机器上试试。

#12


在编译时 Rebuild选full,执行全编译试试,如果不行,那就比较麻烦了。

#13


修改了祖先对象,查看一下子对象是否有冲突或调用错误

#14


在其他机器上试试。

//----------------------------------------------
昨天也碰到这个情况,不知怎么的,源码下运行没问题,编译成exe就报这个错,换了台机编译,头几次成功,可后来也不行了,莫非是Sybase搞的鬼,我的补丁很高PB903_8836.

#15


regenerate/migrate/build

#16


目前已经试过的方法: 
PBL, Full Build ,重建(通过)
PBL,regenerate后,重新编译(通过) 
PB卸载重装,打补丁903_8836(通过) 
代码已经进行了垃圾收集(通过)

//---------------------------------------------

该做的我都试过了,就是编译成exe之后运行报错,我可是正版的PB。

xiyang1011 

患难兄弟

#17


这里是正解:
1. 完全编译
2. 升级
3(重要). 将系统Path和当前工作路径中的旧版本PBvm90.dll等文件删除(就是别让应用程序找到旧的虚拟机)
如果这一切还不OK的话,只能说明楼主人品有严重问题!

#18


在编译时   Rebuild选full

#19


打个PB补丁

#20


用edit source打开源码看看从祖先继承的东西。

#21


1PB打补丁
2升级数据库客户端

我以前也遇到过,我用的是8.0.5客户端连9I数据库

#22


我看上面大家说的,大多都说有可能是pb的问题,
其实我觉得另外一方面是不是你祖先对象程序修改出的问题呢,
看样这个可能性还很高,有可能是你create的对象没有及时destroy,
或者你修改原先程序时增用或改用了某些api,而有些api会导致内存泄露的。。。
建议楼主先把程序恢复到之前版本编译,如果还有问题,那就肯定的新改程序的问题了。

#23


不明LZ在说什么