为什么编译过的程序在有的机器上可以运行,有的机器上就会报错?(200分)

  • 主题发起人 主题发起人 mzb
  • 开始时间 开始时间
M

mzb

Unregistered / Unconfirmed
GUEST, unregistred user!
这些机器装的都是win2000
在某些机器上可以正常运行
而在某些机器上就会报错,错误提示一般为:
Access violation at address XXXXXXXX in module 'YYY.exe'.
Read of address 00000000.

请问如何解决此类问题?
 
程序中有非法的指针操作,检查一下

根据程序出错的地方判断出错的代码段,看看是哪些调用会报错,
判断出不能运行的机器上差哪些东西。
 
应该是带有数据库吧,可能有的机器没有安装BDE。
 
试试在WIN98里编译,在那些机器上运行错不错?如果不错,那是操作系统兼容性的问题
 
to zhhc:
如果是非法的指针操作,那为什么有的机器可以运行呢?
to duancy:
没有用BDE,是通过ADO连接的
 
这个也许是你需要调用的什么文件在一些机器上没有,而你的程序里面的错误判断没做,就有可能出现非法的指针操作
关键是判断出出错的地方,然后检查代码,看看是哪儿的问题。
 
找到原因,原来是客户端少了一个TLB文件
 
感谢关注此问题的朋友,都有分
我的分很多,所以比较豪爽
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部