delphi在不同操作系统中遇到的大问题,请高手帮忙,谢谢(100分)

  • 主题发起人 主题发起人 sbdw
  • 开始时间 开始时间
S

sbdw

Unregistered / Unconfirmed
GUEST, unregistred user!
我最近用delphi编一个档案管理程序,编译后生成dangan.exe可执行文件,由于程序是在xp下编的,当初没有多考虑在不同的操作系统下的运用,编完后,发现不能用于98操作系统,在98下编译时报错如下:

1、application error

exception EOSError in module RTL60.BPL at 00015182
A call to an OS function failed.

2、access violation at address 40009078 in module 'RTL60.BPL'.Read of address 464F535C.

如果直接运行可执行文件,有时可以进入程序,可是执行几个操作后就失去了对程序的控制,也时更连程序也找不开,直接报如下错:

应用程序错误
异常EOSError 发生在模块dangan.exe中的0000E39位置
一个操作系统[OS]调用失败。

请各位高手帮忙看一看,倒底是什么原因呀,还有没有救呀,这个程序在xp/2000下运行很正常,是不是真的需要在98下重新编过呀,那可是我花了一个月的时间呀。

谢谢了。
 
在win98下编译一边,
 
同意楼上的
 
在98下重新编译还是一样报错呀,
我试着在98下重新写过,
然后放到xp下是可以用的,
为什么在xp下写的在98下就会这样,
唉,真烦呀。
 
去除程序中对RTL60.BPL 的引用,换用其他的方法,因为在WIN98下它没有包含你所要的东西,而在winxp中包含(RTL60.BPL 的版本不一样)
 
BPL是DELPHI的东西,不是WIN的,我个人认为在98下重新BUILD一下PROJECT就可以,你重新输入一遍相同的代码(也许你的一个月是指这个吧)完全没有必要,不可能拷贝的要出错,输入的不出错。
 
“一个操作系统[OS]调用失败”这个错误倒底是什么意思呢?有没有哪个高手碰到过,现在我正在重新编写,那个RTL60.BPL错误不再出现了,可是有时会出现“一个操作系统[OS]调用失败”这个错误,在运行时死机,然后重启后,再次运行又没有事了,这个情况时有时无,我现在也搞不清楚这个程序哪个时候又报错,反正编译都可以通过,运行时,出现过两次“一个操作系统[OS]调用失败”错误,重启又开了,不知为什么。
 
你应该是用微软的ADO连接数据库的吧
这个跟Delphi无关,骂比尔去吧
其实原因主要是因为ADO的版本问题
2K和XP的ADO是较高版本的,在98下用时就得先升级ADO的驱动
解决的办法很简单,要么你就装个Office 2K或XP,
要么你就到微软的网站去下载高版本的MDAC(Microsoft Data Access compoents)
再不然,你就不要用ADO
 
编译程序前按 Shift+Ctrl+F11 ,然后选择 Packages页,将Build with runtime packages前的钩去掉,然后编译即可自由在各操作系统下运行
 
同意:LovingTse,
 
我也遇到过这样的问题,我是因为重复引用变量引起的。
 
to tswhoney,我的程序中确实有不少重复的变量,因为很多界面都是雷同的,所以变量都是定义的一样,只是为什么XP中不会出现错误呢?
to LovingTse,你说的好象没错呀,我确实用的是ADO连接数据库的,我下载的MDAC2.7,安装后,好象没有出现错误信息了,不过有时运行中会死机,也不知是不是重复定义变量的原因,以后我把这个软件到别的机子上运行,是不是也需要装MDAC2.7呢?
谢谢大家的帮助!
 
开发软件建议用WIN98,因为版本是向下兼容的,
倒过来,出错的机会多许多,常识啊。
 
.NET只能在win2000以上运行
 
多人接受答案了。
 
后退
顶部