我用pb6.5在win2000下开发的应用,在xp下能运行,但是一关闭窗口就报错

我用pb6.5再win2000下开发了一个应用程序,安装到其他win2000机器上运行都没有问题;在xp下,打开一个窗口后,就不能关闭窗口或者整个应用程序了,但是执行其他的操作都没有问题,关闭窗口时的报错信息是"sybase inc. products file 遇到问题需要关闭,我们对此引起的不便表示抱歉".
请高手指点原因。
[182 byte] By [oracleandpb-大西洋海盗] at [2008-1-9]
# 1

你试下在xp环境下重新编译打包;
v888-aosgzi at 2007-10-19 > top of Msdn China Tech,PowerBuilder,基础类...
# 2
看一下你的窗口中close和closequery中有没有代码,先注释掉试试看,一般pb程序报错,总有代码不合理的地方
caoyin-嘈几几 at 2007-10-19 > top of Msdn China Tech,PowerBuilder,基础类...
# 3
我在xp下重新编译过,还是一样报错。为什么打开的窗口关闭时才有问题呢?真的很奇怪。
我的窗口close事件的通用代码是:
if gs_loginid = 'admin' then
f_setupmenu('u')
else
f_setupmenu('')
end if
this.triggerevent('u_close')
我觉得没问题啊?
很正常的代码
# 4
代码放到CloseQuery事件look一下
AFIC-AFoolInChina at 2007-10-19 > top of Msdn China Tech,PowerBuilder,基础类...
# 5
会不会是某些dll文件需要注册还是怎么的?还有我的dll文件里一定要有个ntwdblib.dll文件,我是总本机(win2000)上拷的,会不会是这个文件的问题?但是没有这个文件在xp下不能运行应用程序。
# 6
f_setupmenu是设置这个要关闭的窗口的菜单吗,
另外程序到close事件后,关闭已经不能中止,任何对这个窗口的操作都无意义,不知道你这段程序是要处理什么,移到closequery事件中看看
caoyin-嘈几几 at 2007-10-19 > top of Msdn China Tech,PowerBuilder,基础类...
# 7
我这段程序的意思是如果mdi的所有字窗口关闭了,那么菜单应该都是暗的,但是如果是admin用户,他应该还有个设置用户菜单项是亮的。f_setupmenu是设置菜单项的函数,f_setupmenu('u')表示用户这个菜单项是亮的,f_setupmenu('')表示所有菜单项都不亮。
另外,提供一个重要线索,我在一台xp下装了pb6.5,然后运行pbl,没有问题,但是把他在本机编译了以后,就不行了,关闭窗口就抱错了。
# 8
this.triggerevent('u_close')
里面做什么事情
caoyin-嘈几几 at 2007-10-19 > top of Msdn China Tech,PowerBuilder,基础类...
# 9
问题搞定了,原来是在xp下编译的时候没有选择全编译,谢谢大家了,所有参与的朋友均有分数,谢谢大家了