我在IDE测试环境关闭应用程序时,出现错误“system Error Code .1412 类别仍有打开的窗口” ( 积分: 50 )

  • 主题发起人 主题发起人 tonky
  • 开始时间 开始时间
T

tonky

Unregistered / Unconfirmed
GUEST, unregistred user!
我在IDE测试环境关闭应用程序时出现“system Error Code .1412 类别仍有打开的窗口”错误提示;
开发环境:win2000; 语言:delph6.0;
我开发的应用程序是结合BPL包的,即主工程已静态指定运行时BPL包;程序在delphi编辑环境下编译运行一切正常,但在关闭时就出现以上错误。这个问题一直困扰着我,希望得到高手指点,在此多谢了!
 
我在IDE测试环境关闭应用程序时出现“system Error Code .1412 类别仍有打开的窗口”错误提示;
开发环境:win2000; 语言:delph6.0;
我开发的应用程序是结合BPL包的,即主工程已静态指定运行时BPL包;程序在delphi编辑环境下编译运行一切正常,但在关闭时就出现以上错误。这个问题一直困扰着我,希望得到高手指点,在此多谢了!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1849543
标题是: 和动态连接库相关的一个错误

看看是不是一样的
 
有点类似,我的程序也是结合DLL的,但我还没有加载任何DLL呢。
我说详细一些吧:
当我用这样的语句:unloadpackage(GetMouldleHandle('MyBPL.BPL'));
卸载时,在delphi编辑环境时关闭程序正常,但在WIN2k独立运行Exe程序然后关闭时,出现不能读地址的错误问题。
而用unloadpackage(loadpackage('MyBPL.BPL'));卸载时,在delphi编辑环境时关闭程序正常出现“system Error Code .1412 类别仍有打开的窗口”错误提示;但在WIN2k独立运行Exe程序关闭却正常。
 
unloadpackage
LoadPackage
FinalizePackage
这三个函数是针对Package的,是Delphi的函数

GetMouldleHandle我在帮助里面没找到,估计是楼主的笔误,GetModuleHandle
这个是针对Windows的Dll,bpl和Dll结构是不同,当然不能象楼主那样用

另外,看看那个bpl是不是需要重写编译下
 
我知道GetModuleHandle这个是针对Windows的Dll的,我并没有写错,
当我执行这行程序:unloadpackage(GetMouldleHandle('MyBPL.BPL')) 时,在delphi编辑环境编译运行后关闭程序正常,但在WIN2k独立运行Exe程序然后关闭时,出现不能读地址的错误问题。
我是这样分析的:
执行这行语句unloadpackage(loadpackage('MyBPL.BPL'))时,在delphi编译环境运行没有真正卸载MyBPL.BPL,一此资源没有得到释放,所以出错;
执行这行语句unloadpackage(GetMouldleHandle('MyBPL.BPL'))时,在delphi编译环境运行真正卸载MyBPL.BPL,相关资源也得到释放,所以在没有提示出错;但当Exe程序独立在Win2K运行时却出现读地址错误;
问题就在于如何真正释放BPL包?
 
检查你的BPL中的各个单元的Initilization/Finiaxxx中的代码,首先把所有的这类代码屏蔽,然后依次打开.
 
在我的BPL中的各个单元里没有Initilization/Finiaxxx代码
 
难道大家都没有碰到此类问题吗?
恳请高手们指点,直到现在我都没有办法解决
 

Similar threads

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