创建表单后,创建一个OLE对象后,我的Delphi 5 Windows软件可以链接到我的销售点(POS.exe)应用程序:

procedure TForm1.SetupEposLink;
begin
  EposServer := CreateOLEObject('POS.Server');
  {Hide the Server}
  if HideLmPos then
    EposServer.InVisible;
end;


应用户请求,然后通过以下方法将项目传递给它:

EposServer.SetMemberDetails(FieldByName('Name').AsString,FieldByName('Member Id').AsString);

EposServer.SellItemAsString(ActCode,'1',FloatToStr(Price),BDate,BTime,RetValue);

EposServer.IsServerOn(Answer1);

EposServer.Visible;


直到现在,将POS安装在终端服务器上以进行远程访问时,这从来就不是问题,尝试调用这些方法之一时,该过程只是超时。

该应用程序是否特别需要在本地安装,或者可以使用一种解决方法来创建到应用程序位置的更好链接?

非常感谢

最佳答案

您可能需要配置DCOM。查看标题为“在Windows XP和Windows Server 2003上配置DCOM”的段落here

我不确定DCOM是否可以远程启动您的服务,但是它需要在两个地方都注册,并且您使用DCOM Config指定托管该服务的计算机。

其次,您可能想查看ComObj.CreateRemoteComObject的帮助,

10-08 04:46