写了一个COM组件,在客户端老是提示服务器失败.具体如下.(100分)

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

hzjone

Unregistered / Unconfirmed
GUEST, unregistred user!
var
test:Ttest;
liTemp:integer;
begin

test:=Ttest.Create(Application);
test.Connect;
liTemp:=test.GetName(12);
end;


服务器端GETNAME方法就实现一个12*12的功能.
 
COM什么,根本不是吧,有这么调用的吗?
 
我是引用类型库的.通过类实现接口.怎么不能这样调用呢.用类工厂实现类.就能通过类实现对象.
 
把中间的删除了,
test:=TTest.Create(nil);
liTemp:=Test.GetName(12);
 
也是不行的.
 
把你的完整测试工程发给我waminbo@163.com可能我能解决你的问题
 
var
test:Itest;
liTemp:integer;
begin

test:= Cotest.Create;
test.Connect;
liTemp:=test.GetName(12);
end;
 
鳄鱼先生,你好.

var
test:Itest;
liTemp:integer;
begin

test:= Cotest.Create;
test.Connect;//用接口联接那里有CONNECT属性呢.
liTemp:=test.GetName(12);
end;
 
现在我又重新写了一个测试。
在ACTIVE组件板上,拉下来是能用的.不过在REMOTEMACHINENAME输入本机的IP 127.0.0.1
现在老是提示没有注册类别,又是怎么一回事,我都注册过了.我感觉是不是DCOM还得设什么才行。如果感觉分不够,还可以再加。。。
 
var
test:Ttest;
liTemp:integer;
begin

test:=Ttest.Create();//如果是接口类使用applicaiton做什么?什么都不写看如何
test.Connect;//我还是感觉这个不对,如果创建了,我看不需要连接
liTemp:=(test as ITest).GetName(12);//获取接口。
//如果这行 有问题,看看类有没有注册,或者引用了该单元。
end;
 
把DCOMM服务端在客户机中注册(运行)一次,以便注册实现远程的COM+接口
 
没找到答案.还是发分了.
 
后退
顶部