isapi的问题(100分)

  • 主题发起人 主题发起人 箭头
  • 开始时间 开始时间

箭头

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么放在module模块上的vcl控件响应事件中的代码不执行
比如Nmudp控件中datareceived事件
或其他的控件
 
你是否肯定一定回触发Nmudp控件中datareceived
 
我想是没有触发,不光是Nmudp,Timer控件也不触发,我猜想是不是
和ISAPI的运行机制有关系,恳请各位高人指点
 
怎么没有人回答呀,我好惨:(
 
你的nmudp控件是否放在webmodule里面
 
是的,是放在webmodule里
 
OnAction执行完返回后,信息返回客户端的浏览器,webmodule
也完成任务了,被删除了。因此,你应该在OnAction中处理消息,
别那么快返回,处理完全部东西才能退出OnAction。
 
感谢pipi的回答,三天内没有人回答的话,我只好给pipi了
恳请大家把这个问题讨论清楚
我想说说我的猜测和折衷的解决办法
正常的应用程序都是有窗口的并且由后台线程接受windows消息负责转发到相应的处理函数
大部分的消息发送都是基于窗口句柄来发送的而ISAPI中根本就不存在窗口
还有那些vcl组件没准就是基于窗口句柄的
这个我做了试验取得当前进程的窗口句柄是会出错的
为了处理消息可以在初始化的时候启动一个后台线程来处理消息
不过这里发送消息时要用线程句柄虽然不太好但也没有办法
所有客户请求只是新起了一个线程
只要把线程之间同步的问题解决了就可以实现消息的处理了
 
接受答案了.
 
后退
顶部