15 个解决方案
#1
这种情况那很多:
1:有可能你缺少dll
2: 有可能你引用的PBD不存在
3: 有可能你引用了非法的内存变量
4:有可能你是从其它版本迁移过来的,最的在打包之前,全部migrate一下。
1:有可能你缺少dll
2: 有可能你引用的PBD不存在
3: 有可能你引用了非法的内存变量
4:有可能你是从其它版本迁移过来的,最的在打包之前,全部migrate一下。
#2
对
1 对于dll 最好全部打包pb相关dll,尤其是xp系统,你不清楚客户是什么系统版本,尤其ghost的
2 检查pbd文件是否有缺失
3 检查程序源码
#3
1 对于dll 最好全部打包pb相关dll
#4
我是修改别人的一个程序,之前他打包的都没问题,我确认了我打包后的pb相关的dll文件和他打包的都对应的上,而且我也试了把pb安装目录下所有的dll文件拷贝到我的程序安装目录下,然后运行程序一样还是报错,很奇怪,但是在开发工具中就没问题
#5
在编辑一个datawindow时报错
这的是在该datawindow中录入数据时吗? 如果是你再检查看看对应事件中相应的代码是不是存在漏洞
这的是在该datawindow中录入数据时吗? 如果是你再检查看看对应事件中相应的代码是不是存在漏洞
#6
估计还是和代码有关系,看editchanged或itemchanged事件,代码本身可能看不出什么问题,你在代码中加几个Messagebox,然后编译一下,看一下到底是运行到哪个位置里出现非法操作了,找到出错的代码,然后再分析一下原因
#7
这里根本就没写代码,就是编辑datawindow里的某列的值,然后回车就报错了,程序就退出了
#8
正常情况下,编辑某列的值后,回车键后会自动跳到下一列,现在一按回车就出错了。。
#9
那你就检查一下enter事件及key事件中的代码是否有漏洞咯
#10
那肯定你是enter事件(也不一定是enter事件,就是类似keydown的事件)里引用了一个不存的列名了~
#11
这里根本就没写代码,就是编辑datawindow里的某列的值,然后回车就报错了,程序就退出了
那你就看一下key或者enter事件里有无代码,也可能在你的祖先里,如果都没有代码,就是你的数据窗口有问题了,新建一个数据窗口然后再试试
#12
key事件里面调用了祖先的代码,估计用到了Global External Functions里面的全局函数,这些函数用到了某些dll文件,你把这些dll文件也拷贝到客户机的c:\windows\system32目录下即可
#13
table(column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=sbxh dbname="YF_RK02.SBXH" dbalias=".SBXH" )
column=(type=long update=yes updatewhereclause=yes name=yfsb dbname="YF_RK02.YFSB" dbalias=".YFSB" )
column=(type=long update=yes updatewhereclause=yes name=mode dbname="YF_RK02.MODE" dbalias=".MODE" )
column=(type=char(12) update=yes updatewhereclause=yes name=bdhm dbname="YF_RK02.BDHM" dbalias=".BDHM" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=ypid dbname="YF_RK02.YPID" dbalias=".YPID" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=cdid dbname="YF_RK02.CDID" dbalias=".CDID" )
column=(type=decimal(2) update=yes updatewhereclause=yes name=rksl dbname="YF_RK02.RKSL" dbalias=".RKSL" )
column=(type=datetime update=yes updatewhereclause=yes name=ysrq dbname="YF_RK02.YSRQ" dbalias=".YSRQ" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=ysbz dbname="YF_RK02.YSBZ" dbalias=".YSBZ" )
column=(type=char(16) update=yes updatewhereclause=yes name=fphm dbname="YF_RK02.FPHM" dbalias=".FPHM" )
column=(type=char(16) update=yes updatewhereclause=yes name=ypph dbname="YF_RK02.YPPH" dbalias=".YPPH" )
column=(type=datetime update=yes updatewhereclause=yes name=ypxq dbname="YF_RK02.YPXQ" dbalias=".YPXQ" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=jhjg dbname="YF_RK02.JHJG" dbalias=".JHJG" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=pfjg dbname="YF_RK02.PFJG" dbalias=".PFJG" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=lsjg dbname="YF_RK02.LSJG" dbalias=".LSJG" )
column=(type=long update=yes updatewhereclause=yes name=zhxs dbname="YF_RK02.ZHXS" dbalias=".ZHXS" )
column=(type=char(8) update=yes updatewhereclause=yes name=yfdw dbname="YF_RK02.YFDW" dbalias=".YFDW" )
column=(type=char(24) update=yes updatewhereclause=yes name=yfgg dbname="YF_RK02.YFGG" dbalias=".YFGG" )
column=(type=char(48) update=yes updatewhereclause=yes name=ypmc dbname="YF_RK02.YPMC" dbalias=".YPMC" )
column=(type=char(48) update=yes updatewhereclause=yes name=cdmc dbname="YF_RK02.CDMC" dbalias=".CDMC" )
column=(type=decimal(1) updatewhereclause=yes identity=yes name=kcsl dbname="KCSL" )
retrieve=" SELECT YF_RK02.SBXH,
YF_RK02.YFSB,
YF_RK02.MODE,
YF_RK02.BDHM,
YF_RK02.YPID,
YF_RK02.CDID,
YF_RK02.RKSL,
YF_RK02.YSRQ,
YF_RK02.YSBZ,
YF_RK02.FPHM,
YF_RK02.YPPH,
YF_RK02.YPXQ,
YF_RK02.JHJG,
YF_RK02.PFJG,
YF_RK02.LSJG,
YF_RK02.ZHXS,
YF_RK02.YFDW,
YF_RK02.YFGG,
YF_RK02.YPMC,
YF_RK02.CDMC,
0.0 KCSL
column=(type=long update=yes updatewhereclause=yes name=yfsb dbname="YF_RK02.YFSB" dbalias=".YFSB" )
column=(type=long update=yes updatewhereclause=yes name=mode dbname="YF_RK02.MODE" dbalias=".MODE" )
column=(type=char(12) update=yes updatewhereclause=yes name=bdhm dbname="YF_RK02.BDHM" dbalias=".BDHM" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=ypid dbname="YF_RK02.YPID" dbalias=".YPID" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=cdid dbname="YF_RK02.CDID" dbalias=".CDID" )
column=(type=decimal(2) update=yes updatewhereclause=yes name=rksl dbname="YF_RK02.RKSL" dbalias=".RKSL" )
column=(type=datetime update=yes updatewhereclause=yes name=ysrq dbname="YF_RK02.YSRQ" dbalias=".YSRQ" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=ysbz dbname="YF_RK02.YSBZ" dbalias=".YSBZ" )
column=(type=char(16) update=yes updatewhereclause=yes name=fphm dbname="YF_RK02.FPHM" dbalias=".FPHM" )
column=(type=char(16) update=yes updatewhereclause=yes name=ypph dbname="YF_RK02.YPPH" dbalias=".YPPH" )
column=(type=datetime update=yes updatewhereclause=yes name=ypxq dbname="YF_RK02.YPXQ" dbalias=".YPXQ" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=jhjg dbname="YF_RK02.JHJG" dbalias=".JHJG" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=pfjg dbname="YF_RK02.PFJG" dbalias=".PFJG" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=lsjg dbname="YF_RK02.LSJG" dbalias=".LSJG" )
column=(type=long update=yes updatewhereclause=yes name=zhxs dbname="YF_RK02.ZHXS" dbalias=".ZHXS" )
column=(type=char(8) update=yes updatewhereclause=yes name=yfdw dbname="YF_RK02.YFDW" dbalias=".YFDW" )
column=(type=char(24) update=yes updatewhereclause=yes name=yfgg dbname="YF_RK02.YFGG" dbalias=".YFGG" )
column=(type=char(48) update=yes updatewhereclause=yes name=ypmc dbname="YF_RK02.YPMC" dbalias=".YPMC" )
column=(type=char(48) update=yes updatewhereclause=yes name=cdmc dbname="YF_RK02.CDMC" dbalias=".CDMC" )
column=(type=decimal(1) updatewhereclause=yes identity=yes name=kcsl dbname="KCSL" )
retrieve=" SELECT YF_RK02.SBXH,
YF_RK02.YFSB,
YF_RK02.MODE,
YF_RK02.BDHM,
YF_RK02.YPID,
YF_RK02.CDID,
YF_RK02.RKSL,
YF_RK02.YSRQ,
YF_RK02.YSBZ,
YF_RK02.FPHM,
YF_RK02.YPPH,
YF_RK02.YPXQ,
YF_RK02.JHJG,
YF_RK02.PFJG,
YF_RK02.LSJG,
YF_RK02.ZHXS,
YF_RK02.YFDW,
YF_RK02.YFGG,
YF_RK02.YPMC,
YF_RK02.CDMC,
0.0 KCSL
#14
pb11.5 这个库存数量不是数据库字段,要是有 identity=yes 有时候不改动他还好,一改动就会报内存不能为read之类的错误错误的
#15
把所有的dll都加上。
#1
这种情况那很多:
1:有可能你缺少dll
2: 有可能你引用的PBD不存在
3: 有可能你引用了非法的内存变量
4:有可能你是从其它版本迁移过来的,最的在打包之前,全部migrate一下。
1:有可能你缺少dll
2: 有可能你引用的PBD不存在
3: 有可能你引用了非法的内存变量
4:有可能你是从其它版本迁移过来的,最的在打包之前,全部migrate一下。
#2
对
1 对于dll 最好全部打包pb相关dll,尤其是xp系统,你不清楚客户是什么系统版本,尤其ghost的
2 检查pbd文件是否有缺失
3 检查程序源码
#3
1 对于dll 最好全部打包pb相关dll
#4
我是修改别人的一个程序,之前他打包的都没问题,我确认了我打包后的pb相关的dll文件和他打包的都对应的上,而且我也试了把pb安装目录下所有的dll文件拷贝到我的程序安装目录下,然后运行程序一样还是报错,很奇怪,但是在开发工具中就没问题
#5
在编辑一个datawindow时报错
这的是在该datawindow中录入数据时吗? 如果是你再检查看看对应事件中相应的代码是不是存在漏洞
这的是在该datawindow中录入数据时吗? 如果是你再检查看看对应事件中相应的代码是不是存在漏洞
#6
估计还是和代码有关系,看editchanged或itemchanged事件,代码本身可能看不出什么问题,你在代码中加几个Messagebox,然后编译一下,看一下到底是运行到哪个位置里出现非法操作了,找到出错的代码,然后再分析一下原因
#7
这里根本就没写代码,就是编辑datawindow里的某列的值,然后回车就报错了,程序就退出了
#8
正常情况下,编辑某列的值后,回车键后会自动跳到下一列,现在一按回车就出错了。。
#9
那你就检查一下enter事件及key事件中的代码是否有漏洞咯
#10
那肯定你是enter事件(也不一定是enter事件,就是类似keydown的事件)里引用了一个不存的列名了~
#11
这里根本就没写代码,就是编辑datawindow里的某列的值,然后回车就报错了,程序就退出了
那你就看一下key或者enter事件里有无代码,也可能在你的祖先里,如果都没有代码,就是你的数据窗口有问题了,新建一个数据窗口然后再试试
#12
key事件里面调用了祖先的代码,估计用到了Global External Functions里面的全局函数,这些函数用到了某些dll文件,你把这些dll文件也拷贝到客户机的c:\windows\system32目录下即可
#13
table(column=(type=decimal(0) update=yes updatewhereclause=yes key=yes name=sbxh dbname="YF_RK02.SBXH" dbalias=".SBXH" )
column=(type=long update=yes updatewhereclause=yes name=yfsb dbname="YF_RK02.YFSB" dbalias=".YFSB" )
column=(type=long update=yes updatewhereclause=yes name=mode dbname="YF_RK02.MODE" dbalias=".MODE" )
column=(type=char(12) update=yes updatewhereclause=yes name=bdhm dbname="YF_RK02.BDHM" dbalias=".BDHM" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=ypid dbname="YF_RK02.YPID" dbalias=".YPID" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=cdid dbname="YF_RK02.CDID" dbalias=".CDID" )
column=(type=decimal(2) update=yes updatewhereclause=yes name=rksl dbname="YF_RK02.RKSL" dbalias=".RKSL" )
column=(type=datetime update=yes updatewhereclause=yes name=ysrq dbname="YF_RK02.YSRQ" dbalias=".YSRQ" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=ysbz dbname="YF_RK02.YSBZ" dbalias=".YSBZ" )
column=(type=char(16) update=yes updatewhereclause=yes name=fphm dbname="YF_RK02.FPHM" dbalias=".FPHM" )
column=(type=char(16) update=yes updatewhereclause=yes name=ypph dbname="YF_RK02.YPPH" dbalias=".YPPH" )
column=(type=datetime update=yes updatewhereclause=yes name=ypxq dbname="YF_RK02.YPXQ" dbalias=".YPXQ" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=jhjg dbname="YF_RK02.JHJG" dbalias=".JHJG" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=pfjg dbname="YF_RK02.PFJG" dbalias=".PFJG" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=lsjg dbname="YF_RK02.LSJG" dbalias=".LSJG" )
column=(type=long update=yes updatewhereclause=yes name=zhxs dbname="YF_RK02.ZHXS" dbalias=".ZHXS" )
column=(type=char(8) update=yes updatewhereclause=yes name=yfdw dbname="YF_RK02.YFDW" dbalias=".YFDW" )
column=(type=char(24) update=yes updatewhereclause=yes name=yfgg dbname="YF_RK02.YFGG" dbalias=".YFGG" )
column=(type=char(48) update=yes updatewhereclause=yes name=ypmc dbname="YF_RK02.YPMC" dbalias=".YPMC" )
column=(type=char(48) update=yes updatewhereclause=yes name=cdmc dbname="YF_RK02.CDMC" dbalias=".CDMC" )
column=(type=decimal(1) updatewhereclause=yes identity=yes name=kcsl dbname="KCSL" )
retrieve=" SELECT YF_RK02.SBXH,
YF_RK02.YFSB,
YF_RK02.MODE,
YF_RK02.BDHM,
YF_RK02.YPID,
YF_RK02.CDID,
YF_RK02.RKSL,
YF_RK02.YSRQ,
YF_RK02.YSBZ,
YF_RK02.FPHM,
YF_RK02.YPPH,
YF_RK02.YPXQ,
YF_RK02.JHJG,
YF_RK02.PFJG,
YF_RK02.LSJG,
YF_RK02.ZHXS,
YF_RK02.YFDW,
YF_RK02.YFGG,
YF_RK02.YPMC,
YF_RK02.CDMC,
0.0 KCSL
column=(type=long update=yes updatewhereclause=yes name=yfsb dbname="YF_RK02.YFSB" dbalias=".YFSB" )
column=(type=long update=yes updatewhereclause=yes name=mode dbname="YF_RK02.MODE" dbalias=".MODE" )
column=(type=char(12) update=yes updatewhereclause=yes name=bdhm dbname="YF_RK02.BDHM" dbalias=".BDHM" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=ypid dbname="YF_RK02.YPID" dbalias=".YPID" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=cdid dbname="YF_RK02.CDID" dbalias=".CDID" )
column=(type=decimal(2) update=yes updatewhereclause=yes name=rksl dbname="YF_RK02.RKSL" dbalias=".RKSL" )
column=(type=datetime update=yes updatewhereclause=yes name=ysrq dbname="YF_RK02.YSRQ" dbalias=".YSRQ" )
column=(type=decimal(0) update=yes updatewhereclause=yes name=ysbz dbname="YF_RK02.YSBZ" dbalias=".YSBZ" )
column=(type=char(16) update=yes updatewhereclause=yes name=fphm dbname="YF_RK02.FPHM" dbalias=".FPHM" )
column=(type=char(16) update=yes updatewhereclause=yes name=ypph dbname="YF_RK02.YPPH" dbalias=".YPPH" )
column=(type=datetime update=yes updatewhereclause=yes name=ypxq dbname="YF_RK02.YPXQ" dbalias=".YPXQ" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=jhjg dbname="YF_RK02.JHJG" dbalias=".JHJG" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=pfjg dbname="YF_RK02.PFJG" dbalias=".PFJG" )
column=(type=decimal(5) update=yes updatewhereclause=yes name=lsjg dbname="YF_RK02.LSJG" dbalias=".LSJG" )
column=(type=long update=yes updatewhereclause=yes name=zhxs dbname="YF_RK02.ZHXS" dbalias=".ZHXS" )
column=(type=char(8) update=yes updatewhereclause=yes name=yfdw dbname="YF_RK02.YFDW" dbalias=".YFDW" )
column=(type=char(24) update=yes updatewhereclause=yes name=yfgg dbname="YF_RK02.YFGG" dbalias=".YFGG" )
column=(type=char(48) update=yes updatewhereclause=yes name=ypmc dbname="YF_RK02.YPMC" dbalias=".YPMC" )
column=(type=char(48) update=yes updatewhereclause=yes name=cdmc dbname="YF_RK02.CDMC" dbalias=".CDMC" )
column=(type=decimal(1) updatewhereclause=yes identity=yes name=kcsl dbname="KCSL" )
retrieve=" SELECT YF_RK02.SBXH,
YF_RK02.YFSB,
YF_RK02.MODE,
YF_RK02.BDHM,
YF_RK02.YPID,
YF_RK02.CDID,
YF_RK02.RKSL,
YF_RK02.YSRQ,
YF_RK02.YSBZ,
YF_RK02.FPHM,
YF_RK02.YPPH,
YF_RK02.YPXQ,
YF_RK02.JHJG,
YF_RK02.PFJG,
YF_RK02.LSJG,
YF_RK02.ZHXS,
YF_RK02.YFDW,
YF_RK02.YFGG,
YF_RK02.YPMC,
YF_RK02.CDMC,
0.0 KCSL
#14
pb11.5 这个库存数量不是数据库字段,要是有 identity=yes 有时候不改动他还好,一改动就会报内存不能为read之类的错误错误的
#15
把所有的dll都加上。