十万火急!!!在98下开发的程序要升级到2000下并稳定运行,该如何改进?(300分)

  • 主题发起人 主题发起人 coolqiang
  • 开始时间 开始时间
C

coolqiang

Unregistered / Unconfirmed
GUEST, unregistred user!
我在98下用Delphi5开发了一个软件,因为需要长时间运行(如24小时不间断),而98不太
稳定,容易死机、出现蓝屏,于是想升级到2000。该如何做?
首先我直接在2000下运行我的程序,发现没其它大问题,就是过几个小时后程序没响应了
(不是死机),是怎么回事?
是不是在2000下用Delphi5重新编译一下就可以了?但我听说两种环境下编译出的EXE程序
是一样的,那又该从何入手呢?
请有将程序从98升级到2000经验的高手不吝赐教,以解我燃眉之急!分不够还可以加,先
谢各位了!
 
98与2k主要是系统的一些调用不太一样,如果没有涉及到这些的话,应该是没问题的。
 
重新编译一次试试呀,不过也不一定是软件问题,可能是系统的问题。
 
系统中若没有使用第三方控件,只要在WIN2000下重新编译后应该没问题,否则就很难说了
 
在win98 下运行的程序也应在win2000下编译,稳定。
 
多谢大家关心,我的程序用了GifImage控件和Flash控件,其它的没有!
大家都说要在2000下重新编译一下,难道和在98下编译不一样吗?
是否在2000下装个Delphi5,重新编译就OK!
我先按大家说的试试看,希望大家继续关注!
 
看样子是你的程序有内存处理方面的问题吧,要不然在Win98下会蓝屏呢,在Win98下会死的,
在Win2000下也好不了——虽然操作系统不容易死,但有问题的应用程序并不会就此就解决一
此问题。
 
同样的函数,在98和2000下很可能调用的dll文件都不同,当然M$已经考虑到了兼容性问题
但你在2000下重新编译一下总没错嘛:)另外看你用到了什么api函数或其他的,看看帮助,
有哪些在NT和2000下是不推荐的,重点照顾这些地方就OK了
 
少用API[:D]
 
1.有些API只有单机版WIN才支持(如:RegisterServiceProcess函数),而有些API则唯NT、2000、XP才支持。
2.注意访问权限的问题。如:进程访问,文件操作。
3.注意资源调用问题。比如:用Resource Builder1.0 把一个BMP位图做进RES中,
如果资源名(不是资源文件名)不是“Bitmap_?”格式那么您的程序在NT、2000、XP下
调用就会出错,而在98下却能够正常调用。
4.最好买一本《Windows2000 API参考大全》,一百多RMB。
5.阅读GifImage控件和Flash控件的源码,注意内存处理语句。
照您的情况看,我想也有可能问题不是出在编译环境上,而是出在运行环境上。您
可以在别人的98或2000下试一下,看是否会出现同样的问题。
 
最好在2K下重新编译,同样的源码编译结果和98下是不同的(比较两个exe文件可知),有些地方需要修改,特别是和内存有关的地方。
 
如果是24个小时运行,那么对内存就要多加注意,
最好是在程序运行开始的时候一次分配好所有的内存,在退出的时候再释放,
在运行过程中,最好不要零脆的分配内存,这样容易产生内存碎片,时间长了
内存不够导致程序可能出问题.
 
到2000下编译一下就好!
 
我建议,先在Win98装D6编译无问题后,在Win2K用D6再编译。
 
我用2000编写的程序在2000下运行没问题,在98出问题
在98下编译后,2000/98都没问题

还有,在2000下用外部程序arj.exe调用无问题,
在98下不仅区分大小写,还不知道怎么回事不能识别arj.exe,因而无法调用,百思不得其解

那位能解释一下?
 
手动制定dbe的安装,那些指定的dll文件需要注册吗?
 
一个软件,总不可能出两个版本吧(for98? for2000?)

我认为2000对98是向下兼容,所以在98下编译后发布要好些。
2000下编译通过,未必能在98下正确执行。

 
多人接受答案了。
 
后退
顶部