如何调用Active library中的Mdi Form?(100分)

  • 主题发起人 主题发起人 dfwzh
  • 开始时间 开始时间
D

dfwzh

Unregistered / Unconfirmed
GUEST, unregistred user!
我新建一个Active library ,再在其中新建一个Automation Object ;在相应的接口中
有一个方法,调用指定的Mdi窗体;然后在另外的Exe程序中,先创建一个OLE对象,再调用
相应子窗体,老是说找不到MdiForm,该如何解决?
 
怎么没有告诉我啊?!!![:(]
 
建议你看一下Forms.pas单元中TCustomForm的实现。对于MDIChild 型的FORM,它需要找到
MDI Main 类型的FORM,而这是从Screen对象实例中找到的,因为你的Library 中的Screen
与你目前程序的Screen是不同的,因此在Library中的MDI Child找不到MDI Form,就出现如
你所说的错误了。方法:你把你的exe程序中的Screen 变量传递给library中的变量,并需要
保证在退出时两个Screen变量都得到正确释放,否则系统将留下垃圾!
 
这样问题也很多,最近讨论关于dll导出mdi呀,activeform实现mdi等的东西好多,
你看看Activex版相关的,和csdn上有几个相关的!
Application和screen全局是delphi的mdi机制的关键,可是如果传入会导致其他问题,
我曾经深受其害!
 
多人接受答案了。
 
后退
顶部