救命啊,各位大虾,在一个DLL里面的窗口之间如何相互进行引用?200分!!!

hxning 2002-01-22 06:37:16
例如,在外部程序通过一个接口showAform打开Aform
Aform的对外接口是这样的:
function ShowAform(AHandle: THandle): longint;
begin
Application.handle := AHandle;
Aform := TAform.Create(Application);
Aform.Show;
...
end;

然后,在Aform里面使用 Bform := TBform.Create(Application.Handle),生成一个或多个Bform(不同的TBform实例);
在Aform的一个按钮需要通过特定参数激活其中的一个Bform,在Aform里头有变量存储着生成的Bform实例, bfrm: array of TBform;
我想使用方法 bfrm[i].show 来激活其中一个Bform的实例,
可是delphi报内存错误。我想是因为程序和DLL处在不同的地址空间而导致的,但如何解决呢?
...全文
56 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
王集鹄 2002-01-23
  • 打赏
  • 举报
回复
和你在应用程序中处理方法是一样的!

动态数组需要用SetLength分配资源
ccc_wh 2002-01-22
  • 打赏
  • 举报
回复
我有做过的实例就是:
AForm := TAForm.create(nil);
AForm.showModale;

在AForm中生成的窗体一率用create(nil),showmodale;

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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