DLL窗体封装问题?

js0001 2009-04-06 08:47:22
最近做了一个dll,里面有一个Form,调用dll的form的时候,如果主程序中含有XPMan单元,dll的Form调用正常,并且关闭这个dll的Form也是正常的。可是只要一退出主程序,就会出现错误:
“0x5adc1531”指令引用的“0x00000014”内存。该内存不能为“read”。和“Runtime error 216 at 5ADC1531”。

去掉XPMan单元后,则一切正常了。
我用的是Delphi7。这样只能去掉xp风格,有其它解决的方法吗?
...全文
129 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjjrocker 2009-04-08
  • 打赏
  • 举报
回复
你跟踪一下吧,按照症状应该是没完全释放导致的,比如关闭的时候 action:=cafree 等等。
js0001 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xjjrocker 的回复:]
dll的窗体是不是也用了皮肤了呀
[/Quote]
没有
xjjrocker 2009-04-08
  • 打赏
  • 举报
回复
dll的窗体是不是也用了皮肤了呀
js0001 2009-04-08
  • 打赏
  • 举报
回复
里面没有任何代码
js0001 2009-04-07
  • 打赏
  • 举报
回复
好像是BitBtn这个按钮的原因,如果没有这个按钮就是存在XPMan单元都是正常的。
js0001 2009-04-07
  • 打赏
  • 举报
回复
窗体创建是这样写的,我认为应该是释放了的,否则去点XPMan单元一切正常如何解释呢?
Application.Handle:=App;
Application.CreateForm(TDForm2, DForm2);
try
DForm2.ShowModal;
finally
DForm2.Free;
DForm2:=nil;
end;
de410 2009-04-07
  • 打赏
  • 举报
回复
有对象没有释放~
chinasg 2009-04-07
  • 打赏
  • 举报
回复
你先确定关闭DLL From,该Form已经真正的Free和Nil了,那么应该是没有问题.
js0001 2009-04-07
  • 打赏
  • 举报
回复
自己先顶一下。
wzca 2009-04-07
  • 打赏
  • 举报
回复
你在DFrom2.Create里干什么坏事了? 嘿嘿
js0001 2009-04-07
  • 打赏
  • 举报
回复
我再顶。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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