delphi写的应用程序只在win2008系统中运行报错,故障模块名称: KERNELBASE.dll

baozonglong 2015-07-24 12:29:50
delphi 7写的应用程序在XP,win7,win2003环境下都能正常运行,但是在win2008 很多时候是数据库访问连接时候查询时候就会直接退出程序
故障模块名称: KERNELBASE.dll
其他系统最返回异常 提示 但是程序是不会跳掉的,这样至少可以知道,是查询语句的问题还是其他原因造成的报错,
有时候,SQL语句也是正确的,但是依然会会程序直接提示 故障模块名称: KERNELBASE.dll 然后直接关闭了。
连接的是SQL SERVER 2008
我是用ADOCONNECTION 连接的数据库,现在每句sql text 前面都要加上 “use XX数据库名
或者重新 ADOCONNECTION .connected:=true; 才能正常查询
(这个是程序一点点一点断点修改查出来的一部分原因...查奔溃了.....)


程序有异常的情况也会自动 跳掉 并提示 故障模块名称: KERNELBASE.dll
明明已经用了
try
except
end;

有异常应该也不会退出程序才对的...都不显示是什么异常原因了... 主要是其他系统环境下都能正常使用的 就是在win2008系统环境下会这样 ,求大神指条明路......
...全文
7544 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
akira_hgj 2016-09-22
  • 打赏
  • 举报
回复
具体是线程什么问题呢?我也碰到了,不过是vb.net的程序。
道玄希言 2015-10-10
  • 打赏
  • 举报
回复
D7是好多年前的东东了, 比windows2008 要老很多。 D7的程序,能在很多新的系统中运行起来,就已经不错了。 还是用新点的XE重新编译下吧。
doloopcn 2015-10-10
  • 打赏
  • 举报
回复
64位的系统与程序的兼容性问题。 多数都是内存管理溢出错误。 估计是32位的系统,即使程序不够内存用,系统最多就提供32位系统能提供的内存供程序使用,64位系统可以用提供更多的内存。 主要的依据是,之前的一个程序,开了1000个线程,在32位系统里面,好多线程都是ONHOLD,而在64位系统,全部都在START 没一会就闪退,冒错 解决方法,用XE以程序编译一次,或做一个64位的程序
lyhoo163 2015-10-10
  • 打赏
  • 举报
回复
引用 2 楼 lyhoo163 的回复:
同感,找不到根源,是头大了。 我的2008上每天出现 一个错误,无法找到原因。
楼主的问题,还有解决吧。 我的问题,早已找到原因。结果是调用线程。出现的问题。
孤独de猫 2015-09-05
  • 打赏
  • 举报
回复
推荐使用XE的平台去编译程序 。D7虽然有很多第三方组件,但是有的已经在版本的windows平台中已经不兼容了。所以 还是用比较XE 以上的平台比较好。增强稳定性。
baozonglong 2015-07-24
  • 打赏
  • 举报
回复
查报错都要查到奔溃了....而且只在win2008下会出现....
lyhoo163 2015-07-24
  • 打赏
  • 举报
回复
同感,找不到根源,是头大了。
我的2008上每天出现 一个错误,无法找到原因。





2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧