CreateRemoteComObject 如何配置?
var
COM:OleVariant;
begin
COM:=CreateRemoteComObject('Server',ProgIDToClassID('Project1.Functions')) as IDispatch;
COM.GetServerStateString;
end;
假设本地机器名为Client(192.168.1.55),服务器名为Server
Project1已经在Server上用regsvr32注册
可运行时说无法写注册表,是权限不够?(我可以看服务器的东西的呀)
是ProgIDToClassID读本地注册表的原因吗?那远程怎么读?
而且注册/调用本地的也会有这个问题
在
var
COM:OleVariant;
begin
COM:=CreateRemoteComObject('Client',ProgIDToClassID('Project1.Functions')) as IDispatch;
COM.GetServerStateString;
end;
或
var
COM:OleVariant;
begin
COM:=CreateComObject(ProgIDToClassID('Project1.Functions')) as IDispatch;
COM.GetServerStateString;
end;
或
var
COM:OleVariant;
begin
COM:=CreateOleObject('Project1.Functions');
COM.GetServerStateString;
end;
或
var
COM:OleVariant;
begin
COM:=CreateRemoteComObject('Client',ProgIDToClassID('Project1.Functions')) as IDispatch;
COM.GetServerStateString;
end;
都没问题,但如果用本地计算机IP
var
COM:OleVariant;
begin
COM:=CreateRemoteComObject('192.168.1.55',ProgIDToClassID('Project1.Functions')) as IDispatch;
COM.GetServerStateString;
end;
也是不能写注册表错误?
最后,CreateRemoteComObject能跨域吗