如果在服务器上连续运行,vb6中的exe会挂起吗?这个exe有winsock组件,用于从生物识别读取器接收数据并保存在sql server 2005中。实际上这显示了生物识别读取器上的加入实时列表意味着在这个exe中我们使用了datagrid组件,它在sql中显示已保存的记录。如何刷新这个exe和数据。?
答案 0 :(得分:0)
好吧,如果您正在显示GUI,那么我会说技术上您没有在服务器上运行。但我仍然没有看到这样做会如何使程序“挂起”。
当谈到VB6内存泄漏时,有些事情需要注意。有一点需要确保使用VB6运行时的SP6版本和“扩展运行时”(VB6附带的控件集)。另一个可能是查看代码并查找可能导致随时间累积的孤立对象的循环对象引用。还有一些模糊的ADO内存泄漏在MDAC 2.7之前从未得到修复,但其中大多数都不影响VB6程序。
我怀疑还有其他原因导致挂起,但大多数都可能是错误的逻辑,例如包含DoEvents调用的循环。在没有完全理解的情况下使用Winsock for TCP也可以生成似乎有时工作的程序,然后等待其他时候发生的事情。请记住,在每个DataArrival事件中,您最多只能依靠一个字节的数据 - 您需要编写自己的流程序集和消息解析逻辑。发送方的一个SendData呼叫不等于接收方的一个GetData呼叫!
Sent: abc
Received: a
bc
如果程序调用GetData直到它获得“abc”,它将永远不会看到它!