如何通过句柄获得对象?(100分)

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

HammerLi

Unregistered / Unconfirmed
GUEST, unregistred user!
如何能够通过已知的句柄获得对象?如Form,主要是想用在COM组件之间传递。
 
FindControl(Handle:THandle)
 
这个方法好象不能在COM和宿主之间使用,如何能够解决COM的问题。因为在调用COM时无法传递窗体这类参数,只能传递句柄,所以我想通过句柄能够访问对象。
 
把对象风装不行? [:)]
 
进程内通过自定义消息返回对象指针。不过只能全用Delphi/进程内
不太清楚你的具体需求.单就大需求是不可能也是不应该的.但具体起来是可能有方法变通的
 
我想做的是,在宿主程序中提供一个控件,例如:TPageControl,每个COM组件将自己的功能实现放在一个TTabSheet控件上,当加载COM对象的功能时,COM对象将自己的TabSheet加入到宿主的PageControl中拱用户操作以实现自己的功能,但是在COM调用时不能够传递向TPageControl这样的对象,所以我想通过传递句柄来获得对象,再进行操作。不知道说明白了没有,不知道像显卡驱动页这样的界面是不是这样实现的。请大家赐教。
 
有好的解决方案吗?
 
不都有个ComObject: IUnknown 吗?
 
To:jackchin
什么意思?是有个 IUnknown
 
Findcontrol 只能返回一个由 Delphi创建的 VCL 的 TWinControl,
TWinControl作为参数传递给一个COM有用吗? 除非这个COM是你自己
实现的
 
TWinControl 能够作为 COM 的参数传递吗?好像 COM 参数类型都要受到 OLE 类型的限制吧!
 
后退
顶部