中间层用Midas,我在接口自定义了一个方法:GetSrvName(BSTR*);
当我在客户端调用此方法时,显示错误:“p->QueryInterface(...)
没有注册界面”,而我在自己的本机上则无此错误,难道那个
DCOM控件也在客户机上注册一次吗?请问怎么解决,谢谢!
当我在客户端调用此方法时,显示错误:“p->QueryInterface(...)
没有注册界面”,而我在自己的本机上则无此错误,难道那个
DCOM控件也在客户机上注册一次吗?请问怎么解决,谢谢!
Variant v = CreateOleObject( "Project1.AutoTest" );
v.Exec( PropertySet( "Hello" ) << "Hello world!" );
Label1->Caption = v.Exec( PropertyGet( "Hello" ) );
使用 Automation 的前期联编或叫先联编(Early Binding)的用法:
try {
if ( !MyTest )
{
MyTest = CoAutoTest::Create( );
MyTest.Hello = WideString( "Hello world!" );
}
Label1->Caption = MyTest.Hello;
}
catch ( EOleSysError &e )
{
ShowMessage( e.Message );
}这都是c++builder的调用方式,我想原理查不多。
谢谢!
但是我还是闹不懂,刚学COM,太菜了,
DCOM服务器已经注册了,没必要在客户端也要注册吧?
因为我编客户端程序时已经引入了库文件(。TLB),
难道先联编不能用于DCOM吗?
我也不会,
猜的
因为信息说没注册