请教一个Com和应用程序的数据交换问题?急(---------在线等) ( 积分: 100 )

  • 主题发起人 主题发起人 AK-47
  • 开始时间 开始时间
A

AK-47

Unregistered / Unconfirmed
GUEST, unregistred user!
1。我用delphi写的一个COM组取得了IE的document接口(IHtmlDocument2),我将它的指针保存了下来(integer(@document)),我想到另一个应用程序中再用这个接口,我怎么样根据这个指针再取回这个接口?
或者有更简单的办法?
(=----在线等)
 
1。我用delphi写的一个COM组取得了IE的document接口(IHtmlDocument2),我将它的指针保存了下来(integer(@document)),我想到另一个应用程序中再用这个接口,我怎么样根据这个指针再取回这个接口?
或者有更简单的办法?
(=----在线等)
 
v :OleVariant;

v := IDispatch( Pointer(ptr) );//ptr 为上面保存的地址
这样好像不行????
有没人会啊?
-----------------------------------------------------------
 
用指针保存好像没用,建议用IDispatch变量保存。
 
TYZhang:
谢谢你的回答,问题怎么把IDispatch变量传给另外的应用程序使用?
 
你的“我用delphi写的一个COM组”是一个com程序,在他的接口中增加一个方法不就可以了吗。
 
我要的是在另一个应用程序里调用Com保存的Ihtmldocument2接口变量,现在的问题是我在Com里保存了这个接口变量的地址,但到了另外的程序中的时间我无法将这个地址转换成Ihtmldocument2接口变量
 
Ihtmldocument2不要保存地址,直接将其付给一个OleVariant变量传递给主调程序
 
迷糊 :
请问假如在Com里将Ihtmldocument2保存为OleVariant变量后,怎么它传到另外的应用程序去?发消息吗?
 
用另外的程序来调用你这个com,通过函数或属性来取出Ihtmldocument2接口。
 
TYZhang:
是这样的,我首先在IE右键里调用这个COM程序来保存Ihtmldocument2这个接口,然后再判断一些条件后,再启动另一个Exe程序,我怎么才可以通过Exe程序来调用刚才在IE里调用的哪个Com里面的Ihtmldocument2接口方法?又或者有其他方法可以不在EXE里创建一个新的Com而重复使用IE右键创建的Com?其实我最主要是想要回在Com里的Ihtmldocument2变量

---------------------------------------------------
 
你可以将Ihtmldocument2存为全局变量,然后在EXE里创建一个新的Com来调用这个变量。
 
请问怎么在COM里怎么样才能设置全局变量才能使每个新的COM都能访问?
 
不可行的
进程中的数据是相互独立的
 
大家好,现在我发现COM和应用程序之间是可以用指针来传数据的,也就是不能用保存接口的指针来给别的应用程序调用,我现在暂时用剪贴板代替来传数据
 
后退
顶部