X
xiaoxinxx168
Unregistered / Unconfirmed
GUEST, unregistred user!
1、程序为多线程,不过使用了同步(Synchronize),接收客户端传递过来的XML文件,然后创建线程,根据XML的不同内存执行不同的操作。但是程序运行一段时间后,程序界面自动关闭,但是在任务管理器中还存在此进程。各位碰到过类似情况吗?帮忙给出一点线索。
2、我想不使用同步(Synchronize),但是我的线程中使用了一个控件,这个控件里面有个定时器在实时扫描外部传递过来的消息,然后生成事件。我原来是用了一个线程来代替这个定时器,线程主要代码如下:
Signaled := WaitForSingleObject(FStopEvent,FInterval);
// if event occurs, dispatch it
if (Signaled = WAIT_TIMEOUT) and Assigned(FOnTimerTick) then
FOnTimerTick(Self);
until Signaled <> WAIT_TIMEOUT;
但是这段代码不稳定,有些消息接收不到,请我是什么原因?有没有其它的好方法?
2、我想不使用同步(Synchronize),但是我的线程中使用了一个控件,这个控件里面有个定时器在实时扫描外部传递过来的消息,然后生成事件。我原来是用了一个线程来代替这个定时器,线程主要代码如下:
Signaled := WaitForSingleObject(FStopEvent,FInterval);
// if event occurs, dispatch it
if (Signaled = WAIT_TIMEOUT) and Assigned(FOnTimerTick) then
FOnTimerTick(Self);
until Signaled <> WAIT_TIMEOUT;
但是这段代码不稳定,有些消息接收不到,请我是什么原因?有没有其它的好方法?