创建表单后,创建一个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的帮助,