var
  COM:OleVariant;
begin
  COM:=CreateRemoteComObject('Server',ProgIDToClassID('Project1.Functions')) as IDispatch;
  COM.GetServerStateString;
end;假设本地机器名为Client(192.168.1.55),服务器名为ServerProject1已经在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能跨域吗