在vb6中制作的Exe如果继续在服务器上运行将会挂起?此exe具有winsock组件,该组件用于从生物识别读取器接收数据并保存在sql server 2005中。实际上,这显示了在生物识别读取器上进行的访问的实时列表,这意味着在这个exe中,我们使用了数据网格组件,它以sql格式显示保存的记录。如何刷新此可执行文件和数据?
发布于 2009-08-16 16:25:37
好吧,如果你正在显示一个GUI,那么从技术上讲,你不是在服务器上运行。但我仍然不明白这样做会使程序“挂起”。
当涉及到VB6内存泄漏时,有一些事情需要注意。要确保做的一件事是确保使用SP6版本的VB6运行时和“扩展运行时”(VB6附带的一组控件)。另一种可能是遍历代码并查找循环对象引用,这些引用可能会导致随着时间的推移而累积的孤立对象。还有一些模糊的ADO内存泄漏,直到MDAC2.7才得到修复,但大多数都不会影响VB6程序。
我怀疑还有其他原因导致挂起,但其中大多数可能是错误的逻辑,例如包含DoEvents调用的循环。在没有完全理解的情况下使用Winsock for TCP也可能会产生一些程序,这些程序有时似乎可以工作,但有时会挂起,等待其他时间发生的事情。请记住,对于每个DataArrival事件,您最多可以依赖一个字节的数据-您需要编写自己的流程序集和消息解析逻辑。发送方的一次SendData调用不等于接收方的一次GetData调用!
Sent: abc
Received: a
bc如果程序调用GetData直到得到"abc“,它将永远看不到它!
https://stackoverflow.com/questions/1271991
复制相似问题