2011-09-05 20 views
2

我的德尔福5 Windows软件,可以在创建时,创建形式的OLE对象后,链接到我的销售点(POS.exe)应用程序启动/访问远程应用程序在Delphi

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

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

EposServer.IsServerOn(Answer1); 

EposServer.Visible; 

这从来就不是一个问题,到现在为止,当POS安装用于远程访问终端服务器上,并试图打电话的时候,过程简单地超时:,项目,然后通过诸如传递给它这些方法之一。

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

非常感谢

+1

什么是当您尝试调用OLE对象方法中的一种,你得到确切的错误信息?客户端应用程序也安装在终端服务器上? –

+2

CreateOLEObject期望POS.Server在运行软件的计算机上注册为COM-Server。所以我认为,你的软件和(注册的)POS.Server必须在同一台机器上。 – Andreas

+0

您是否阅读过有关DCOM配置(dcomcnfg)的信息? –

回答

2

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

我不确定DCOM是否可以远程启动您的服务,但需要在两个位置注册,并且您使用DCOM配置来指定承载该服务的计算机。

其次,你可能要检查出ComObj.CreateRemoteComObject的帮助下,

+0

谢谢你们。我将着眼于这个DCOM,因为它听起来像是正确的想法。 POS.exe实际上运行在单独的PC上,但用户远程连接到正试图与之通信的主软件。对于我为一位同事处理这件事,我缺乏清晰的道歉。在进一步研究之后,我会进行相应的更新。 – notidaho

+0

请注意,DCOM在发生故障时可能很难排除故障。准备花一些时间学习如何排查DCOM问题。 –