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

  • 主题发起人 主题发起人 hxning
  • 开始时间 开始时间
H

hxning

Unregistered / Unconfirmed
GUEST, unregistred user!
例如,在外部程序通过一个接口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.show 来激活其中一个Bform的实例,
可是delphi报内存错误。我想是因为程序和DLL处在不同的地址空间而导致的,但如何解决呢?
 
返回该窗口的内存指针然后调用,使用自定义消息的方式
longint(BForm)
 
后退
顶部