2009-12-31 106 views
1

我构建了一个使用一些Web服务的Delphi-7 Windows应用程序。应用程序的构建方式不需要运行时DLL。当我将它部署在Windows 2003服务器上时,它在调用Web服务时失败。它导致错误“地址00c05269处的访问冲突,地址00c05269的写入”。我相信其原因是它需要安装一些软件包。有人能帮我弄清楚吗?如何在Windows XP/Windows 2003上部署Delphi Soap Client(.EXE)?

TIA

+0

老实说,有一百五十个可能的原因。你确定它不需要任何DLL吗? BorlndMM/FastMM几乎一直都不需要?它是如何部署的?你在其他机器上试过了吗?是否安装了Delphi?访问违规只是一个糟糕的指针,它可能意味着*任何*。 Web服务库或其调用代码甚至可能无法正确处理例程错误。我建议尽可能多地列出导致错误的环境,部署和步骤信息。 – Aaronaught 2009-12-31 19:48:32

+0

感谢您的回复!是的,我确定这是一个部署问题。我不确定哪些DLL需要在服务器上注册。德尔福的部署笔记根本没有谈论这个。 Delphi应用程序本身工作正常,只是它在调用Web服务方法时会导致此错误。我在Delphi Websnap DLL已经运行的另一台服务器上测试了我的测试应用程序,它的运行方式与预期的一样。但是没有关于在那台机器上安装或注册哪些Delphi或SOAP的文档。 – harry 2009-12-31 20:58:18

+0

我将整个Delphi \ Bin文件夹复制到服务器C:\ DelphiBin中,并将其添加到系统搜索路径中。问题依然存在! – harry 2009-12-31 21:03:18

回答

6

只是猜测:如果客户端是用D7构建的,那么运行时将AV启用DEP的机器上。请参阅以下链接了解更多信息:

groups.google.com/group/borland.public.delphi.webservices.soap/msg/b19f3c2681de50f4 

您可以仅针对该客户端禁用DEP(或系统范围)赢2003机器上,看看如果是这样的问题:

technet.microsoft.com/en-us/library/cc738483(WS.10).aspx 

如果这是,你可以从这里下载一个SOAP运行修复:

http://cc.embarcadero.com/Item/24535

干杯,

Bruneau

+0

我想说DEP--我们在2003年有一个邮编SOAP查找程序出现这个问题。关闭我们程序的DEP,一切都变好了。 – robsoft 2010-01-03 08:49:17

+0

太棒了!感谢Bruneau。 DEP是问题。只有Windows服务才打开DEP才能正常工作! – harry 2010-01-04 16:08:38

0

一些故障排除建议。

您可以通过网页浏览器浏览网页服务吗?如果没有,你有连接问题。

如果这样做,我会构建一个纯粹的骨骼客户端,它会使用Web服务并调用一些方法,但不读取或写入任何外部文件。

+0

该程序不读取或写入文件。它只是调用Web服务并将返回值写入TMemo对象。我可以从IE访问Web服务。当我在已经运行Delphi Websnap DLL的服务器上运行它时,同样的程序运行正常。 – harry 2009-12-31 20:53:54

+0

不知道更多,我建议你使用RRUZ的建议,并使用异常记录器来找出究竟是什么不能缩小原因。 – 2010-01-01 14:35:42