爆怪的问题,高手请进。。。(100分)

  • 主题发起人 主题发起人 flypuma
  • 开始时间 开始时间
F

flypuma

Unregistered / Unconfirmed
GUEST, unregistred user!
一个程序在98下完全正常的,在2000下重新编译,build成功,但无法运行,
直接用F8单步开始运行,马上就报错“应用程序正常促使化(0xc0000ba)失败。请单击
确定,终止应用程序”,因为这个时候连程序的第一句语句都没有走到,根本无法调试,
也不知道是什么原因会引起。而且我的工程里面根本没有用到initializaion部分。哪位
高手碰到过类似的问题吗?给的提示吧...100分送上
 
在创建FORM时,执行了什么没有。
有一次我在WIN98+D5写的程序在创建FORM时先后执行连接数据库和打开多媒体设备时正常。
在WIN2000+D6下初使化失败。
后来把打开多媒体设备放在其它事件中执行就可以了。
不知道,与你的情况是否相仿。
 
还没有到创建Form呢,在.dpr里面的begin还没有到呢,就出错了,见鬼了啊
 
你的程序有问题, 你把所有窗体(除主窗体外)从自动创建改为手动创建.
再检查主窗体的create 和 close事件中的new 代码 free和数组长度是否足够.

另外, 重新启动win2000看出不出问题, 如果不出问题, 那是你的win2000被其它程序搞崩
溃了.

还有, 不在delphi环境中直接执行程序看出不出问题, 如果仍然出问题, 那说明你的程序肯
定有问题.
 
问题找到了,是我静态绑dll里的函数不支持,因为我的程序用到了自己的另外两个dll,
我在主程序里面是这样声明的:
procedure MyProc;stdcall; external 'MYDLL' name 'MYPROC';
在98下一切正常,都用了一年多了,移植到2000下就出这个问题,不是dll的问题,因为
我最后解决的方法是用动态调用
initialization
MHandle := LoadLibrary('mydll');
MyProc = GetProcAddress(MHandle,'MyProc');

这样程序里面用MyProc就没有问题了,问题虽然有了解决方案,不过我还是很迷糊,2000
下面怎么这样都不兼容,那很多98下的程序不是都不能用了吗? 还是我用的不对? 至少
我的程序在98下好好的就不能在2000下跑了...
无论如何,感谢各位帮忙,有分了,呵呵
 
后退
顶部