CLSID clsid;
CString nProgID=MyGetProgID(); //获得接口组件的ProgID
CLSIDFromProgID(A2COLE(nProgID), &clsid); //转化成ClassID
HRESULT hr = CoCreateInstanceEx(clsid,
NULL,
CLSCTX_REMOTE_SERVER |CLSCTX_LOCAL_SERVER,
&cs,
1,
&mqi);
用VB如何实现?
9 个解决方案
#1
看不懂C++,VB中实例是先定义如:
dim 变量名 as 对象名
set 变量名 = new 对象名
也可写成一句:
dim 变量名 as new 对象名
dim 变量名 as 对象名
set 变量名 = new 对象名
也可写成一句:
dim 变量名 as new 对象名
#2
dim uDateTest As DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
用这种方法也进行对象的实例化,其中gServerName可以设置实例化的机器名,可以是本机或是服务器等
uDateTest=CreateObject("DataObject.TestClass", gServerName)
用这种方法也进行对象的实例化,其中gServerName可以设置实例化的机器名,可以是本机或是服务器等
#3
这个对象是在一个Active EXE中,首先要调用到这个EXE,才能进行创建。
#4
在active exe 中给一个类,用类调用它就ok了
#5
回复人: lilaclone(阿九--云破月来花弄影) ( ) 信誉:112 2004-05-12 12:31:00 得分:0
dim uDateTest As DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
用这种方法也进行对象的实例化,其中gServerName可以设置实例化的机器名,可以是本机或是服务器等
CLSIDFromProgID(A2COLE(nProgID), &clsid); //转化成ClassID
这句是把程序名转化成程序的ClassID,VB中如何实现?
要求是创建的实例是一个EXE而不是一个DLL,因此要先通过proid得到classid。
dim uDateTest As DataObject.TestClass
中的TestClass如何生成或实现?
dim uDateTest As DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
用这种方法也进行对象的实例化,其中gServerName可以设置实例化的机器名,可以是本机或是服务器等
CLSIDFromProgID(A2COLE(nProgID), &clsid); //转化成ClassID
这句是把程序名转化成程序的ClassID,VB中如何实现?
要求是创建的实例是一个EXE而不是一个DLL,因此要先通过proid得到classid。
dim uDateTest As DataObject.TestClass
中的TestClass如何生成或实现?
#6
回复人: wsmfighter2002(Worker) ( ) 信誉:100 2004-05-12 12:38:00 得分:0
在active exe 中给一个类,用类调用它就ok了
如何实现?
在active exe 中给一个类,用类调用它就ok了
如何实现?
#7
dim uDateTest As DataObject.TestClass
下面这两句是等价的
set uDateTest= new DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
一般情况下new会被翻译成CreateObject,而CreateObject实际上是调用CoCreateInstanceEx来实力化对象
只要是com就有prgid,不用管它是exe还是dll。你不要管classid,vb只认识prgid,转换工作都由编译器和运行时包揽了
下面这两句是等价的
set uDateTest= new DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
一般情况下new会被翻译成CreateObject,而CreateObject实际上是调用CoCreateInstanceEx来实力化对象
只要是com就有prgid,不用管它是exe还是dll。你不要管classid,vb只认识prgid,转换工作都由编译器和运行时包揽了
#8
dim uDateTest As DataObject.TestClass
中的TestClass如何生成或实现?
中的TestClass如何生成或实现?
#9
vb中通过工程\引用,然后就可以:
dim uDateTest As DataObject.TestClass
set uDateTest= new DataObject.TestClass或者set uDateTest=CreateObject("DataObject.TestClass")
这样clsid和iid会再编译时被确定,使用的是vTable梆定
你可以不引用而:
dim uDateTest As object
set uDateTest=CreateObject("DataObject.TestClass")
这里就能使用new了,这样使用的是后期梆定,将prgid翻译成clsid的工作是由运行时完成的
dim uDateTest As DataObject.TestClass
set uDateTest= new DataObject.TestClass或者set uDateTest=CreateObject("DataObject.TestClass")
这样clsid和iid会再编译时被确定,使用的是vTable梆定
你可以不引用而:
dim uDateTest As object
set uDateTest=CreateObject("DataObject.TestClass")
这里就能使用new了,这样使用的是后期梆定,将prgid翻译成clsid的工作是由运行时完成的
#1
看不懂C++,VB中实例是先定义如:
dim 变量名 as 对象名
set 变量名 = new 对象名
也可写成一句:
dim 变量名 as new 对象名
dim 变量名 as 对象名
set 变量名 = new 对象名
也可写成一句:
dim 变量名 as new 对象名
#2
dim uDateTest As DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
用这种方法也进行对象的实例化,其中gServerName可以设置实例化的机器名,可以是本机或是服务器等
uDateTest=CreateObject("DataObject.TestClass", gServerName)
用这种方法也进行对象的实例化,其中gServerName可以设置实例化的机器名,可以是本机或是服务器等
#3
这个对象是在一个Active EXE中,首先要调用到这个EXE,才能进行创建。
#4
在active exe 中给一个类,用类调用它就ok了
#5
回复人: lilaclone(阿九--云破月来花弄影) ( ) 信誉:112 2004-05-12 12:31:00 得分:0
dim uDateTest As DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
用这种方法也进行对象的实例化,其中gServerName可以设置实例化的机器名,可以是本机或是服务器等
CLSIDFromProgID(A2COLE(nProgID), &clsid); //转化成ClassID
这句是把程序名转化成程序的ClassID,VB中如何实现?
要求是创建的实例是一个EXE而不是一个DLL,因此要先通过proid得到classid。
dim uDateTest As DataObject.TestClass
中的TestClass如何生成或实现?
dim uDateTest As DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
用这种方法也进行对象的实例化,其中gServerName可以设置实例化的机器名,可以是本机或是服务器等
CLSIDFromProgID(A2COLE(nProgID), &clsid); //转化成ClassID
这句是把程序名转化成程序的ClassID,VB中如何实现?
要求是创建的实例是一个EXE而不是一个DLL,因此要先通过proid得到classid。
dim uDateTest As DataObject.TestClass
中的TestClass如何生成或实现?
#6
回复人: wsmfighter2002(Worker) ( ) 信誉:100 2004-05-12 12:38:00 得分:0
在active exe 中给一个类,用类调用它就ok了
如何实现?
在active exe 中给一个类,用类调用它就ok了
如何实现?
#7
dim uDateTest As DataObject.TestClass
下面这两句是等价的
set uDateTest= new DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
一般情况下new会被翻译成CreateObject,而CreateObject实际上是调用CoCreateInstanceEx来实力化对象
只要是com就有prgid,不用管它是exe还是dll。你不要管classid,vb只认识prgid,转换工作都由编译器和运行时包揽了
下面这两句是等价的
set uDateTest= new DataObject.TestClass
uDateTest=CreateObject("DataObject.TestClass", gServerName)
一般情况下new会被翻译成CreateObject,而CreateObject实际上是调用CoCreateInstanceEx来实力化对象
只要是com就有prgid,不用管它是exe还是dll。你不要管classid,vb只认识prgid,转换工作都由编译器和运行时包揽了
#8
dim uDateTest As DataObject.TestClass
中的TestClass如何生成或实现?
中的TestClass如何生成或实现?
#9
vb中通过工程\引用,然后就可以:
dim uDateTest As DataObject.TestClass
set uDateTest= new DataObject.TestClass或者set uDateTest=CreateObject("DataObject.TestClass")
这样clsid和iid会再编译时被确定,使用的是vTable梆定
你可以不引用而:
dim uDateTest As object
set uDateTest=CreateObject("DataObject.TestClass")
这里就能使用new了,这样使用的是后期梆定,将prgid翻译成clsid的工作是由运行时完成的
dim uDateTest As DataObject.TestClass
set uDateTest= new DataObject.TestClass或者set uDateTest=CreateObject("DataObject.TestClass")
这样clsid和iid会再编译时被确定,使用的是vTable梆定
你可以不引用而:
dim uDateTest As object
set uDateTest=CreateObject("DataObject.TestClass")
这里就能使用new了,这样使用的是后期梆定,将prgid翻译成clsid的工作是由运行时完成的