我在用Delphi5.5编写一个多层数据库程序时遇到了一个问题。
程序采用SOCKET连接,在本机运行时,一切正常。但在本网络上其他机器上运行时,不久前,我测试已经通过,此后,在程序的连接服务器的部分,我未曾作任何的改动,现在测试时会出现错误,而无法运行。错误情况如下:
当我把客户端可执行文件和midas.dll分发到其它机器上运行时,会出现下列错误:
首先,显示“应用程序发生异常 未知的软件异常(0x0eedfade),位置为0x77e69b01”.按下确定按钮,显示"Exception EBrokerException in module PJClient.exe at 000a3865.No server available".再按下确定按钮,显示“"0x00403018"指令引用的"0x00d98620"内存。该内存不能为"read"”。最后显示"Runtime error 216 at 0003018".
此后,我又尝试把客户端程序源代码拷贝到其它机上在Delphi环境下进行调试,重新指定SocketConnection的Host和ServerName属性,当我指定Servername属性时会出现"windows socket error :其上下文中,该请求的地址无效。(10049) on API connect"的错误。据有关资料,这个错误在Borland socket server未曾运行时,才会发生,但此时我所指定的服务器端的Borland socket server正处于运行状态。