一个令人费解的问题(100分)

  • 主题发起人 主题发起人 jangill
  • 开始时间 开始时间
J

jangill

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个应用服务器程序. 作为三层体系中的中间层. 使用Tsocketconnection连接方式.
即TCP/IP协议方式.运行后, 一切正常, 客户端能正常连接服务器, 也能操作. 一切顺利.
我在该应用服务器程序中加入了Tclientsocket控件, 以便于在客户端和服务器进行信息发送, 但是:当有客户端连接到服务器时, 我在应用服务器程序中的一个TMemo控件中,想输入内容.切换了几下输入法. 切换后, 服务器程序没有反应了, 死掉了.如果没有客户端连接时, 就不会发生该问题. 奇怪了. 我在调试服务器程序时, 重新了一个错误提示, 大意是:
"Project Server.exe raised Exception class EStackOverflow with message "Stack overflow"".请问大侠, 这是堆栈溢出吧, 我该如何处理, 谢谢.
 
字面意思是堆栈溢出
引起这个问题的原因可能是有递归调用
具体点就是看一下是不是在消息处理函数中又发送消息了
 
是连接处于假连接状态,你又调用连接,你先调用连接断开,然后在调用连接
 
谢谢各位大侠.
在该应用服务器程序中加入了TServerSocket控件(不是TClientSocket控件,笔误), 与客户端进行了收发信息操作. 但不多.只是在客户端登录时发生该操作. 并且 服务器的TServerSocket 自启动后一直在等待其它新客户端的连接请求.就在这个时候, 我切换了输入法, 想输入内容时才发生了该错误.
在服务器端, 没有递归调用操作.
 
我也遇到过类似问题,所以我后来就不用TMemo了
 
后退
顶部