Delphi 访问远程服务器但不是本地服务器时出错

Delphi 访问远程服务器但不是本地服务器时出错,delphi,winapi,Delphi,Winapi,我在Windows 10家用高级操作系统和Dell Inspiron N7110笔记本电脑上使用BDS 2006 Win32进行编码 我在客户端使用TSocketConnection创建了一个简单的客户机-服务器程序。它在当地运行良好。当客户端连接时,会弹出服务器端窗体。我在客户端上也可以看到我的客户端数据集数据 问题:当客户端应用程序尝试访问我办公室电脑上的应用程序服务器时,另一台电脑上仍会弹出“远程服务器”窗体(表示已建立连接),但是,当客户端应用程序尝试打开客户端数据集时,它会收到“加载M

我在Windows 10家用高级操作系统和Dell Inspiron N7110笔记本电脑上使用BDS 2006 Win32进行编码

我在客户端使用
TSocketConnection
创建了一个简单的客户机-服务器程序。它在当地运行良好。当客户端连接时,会弹出服务器端窗体。我在客户端上也可以看到我的客户端数据集数据

问题:当客户端应用程序尝试访问我办公室电脑上的应用程序服务器时,另一台电脑上仍会弹出“远程服务器”窗体(表示已建立连接),但是,当客户端应用程序尝试打开客户端数据集时,它会收到“加载Midas.dll时出错”消息。这在设计模式或运行时寻址远程PC时发生

仅供参考:(仍在连接到远程PC)当
TSocketConnection.Host
设置为
“IPMServer.ddns.net”
时,客户端
TSocketConnection
在设计模式下查找并正确解析
ServerName
ServerGUID
,客户端数据集“查看”RDM表的数据源提供程序。但是,当我尝试将客户端数据集
Active
属性设置为True时,客户端数据集收到Midas错误

仅供参考2:为了确保我的客户端应用程序在我的局域网上找到远程服务器。。。我正在使用URL重定向服务指向我的DDNS URL。我的路由器支持NAT环回。我在局域网上保留了PC远程服务器IP地址。我的局域网将所有
TSocketConnection.Port
调用转发到应用服务器。远程PC Windows防火墙允许远程服务器发送到客户端。我再次看到远程服务器窗体在远程PC盒上弹出

更多供参考:大约八年前,我使用相同的方法和工具成功创建了
TWebConnection
客户机-服务器系统。操作系统最有可能是XP机箱。它运行良好

我最近还创建了一个仅使用XE2和Indy组件的客户机-服务器系统,使用的硬件和URL重定向策略与我在
TSocketConnection
应用程序中使用的相同。这个“只是德尔菲和印地”很好用。我创建了两个版本的“just Delphi and Indy”方法。一个在客户端使用客户端数据集,另一个在客户端使用组件Ace的绝对数据库。远程服务器在所有描述的系统中使用ADO和Firebird。这两种方法都非常有效,根本不需要Datasnap!(但是Datasnap不需要几千行代码)

概述:我的
TSocketConnect
客户机-服务器系统在本地运行良好。当我尝试从局域网上PC上的同一应用程序服务器提取数据时,远程服务器会连接,但客户端会收到“加载Midas.dll时出错”消息


!!!刚刚记住…无论我在
uses
子句中编译客户机时是否使用MidasLib,我的客户机EXE的大小都是相同的。我不明白这与我的问题有什么关系。

那么,这个“加载Midas.dll时出错”是否起源于远程服务器?服务器应用程序是否使用Midas.Dll?如果是,Midas.Dll是否在远程服务器上正确注册(您知道如何检查)?您是否尝试在笔记本电脑上从BDS2006远程调试服务器应用程序?你的问题中遗漏了很多类似的信息。我明白我的请求听起来有多么难以接受。显然,我快要淹死了,迷路了,否则我就不会来这里了。我的理解是,应用服务器及其远程数据模块不需要或使用midas.dll。更多。。。好的,我的客户端应用程序在主窗体的USES语句中包含MidasLib。我开始了一个新项目。此客户端应用程序在使用中正确接受MidesLib。而且..这很尴尬..如果我把我的开发笔记本电脑作为服务器,而不是PC机箱,我之前描述的问题都不会发生。我还有另外两台笔记本电脑(XP和Win7),当远程应用程序服务器位于我的DEV笔记本电脑上时,这两台笔记本电脑都正确连接并显示了客户端数据集的数据。我浪费了太多的时间。如果我发现出了什么问题。我来分享。谢谢你的回复。