DCOM客户端使用多线程错误:"消息筛选器显示应用程序正在使用中"(200分)

  • 主题发起人 主题发起人 yisp
  • 开始时间 开始时间
Y

yisp

Unregistered / Unconfirmed
GUEST, unregistred user!
客户端: ClientDCOMConn:TDCOMConnection
服务器: Remote DataModule
前 提: ClientDCOMConn.Connected:=True
问 题: 当在主线程中调用服务器的Remote DataModule中定义好的过程时,
没有出现任何问题;但是当建立一个线程(TThread),并且在线程中去调用相同的过程时,
会出现"消息筛选器显示应用程序正在使用中"的错误,该过程已经使用Synchronize同步.
 
关注ing........
 
Answer:
把客户端的DCOMConnection创建放到线程Excute内
1. 注意不要使用Synchronize同步
2. 之前调用 CoInitialize(nil);
完成后调用CoUnInitialize;
Sample:
CoInitialize(nil);
try
{Create DcomConnections and Connect it here}
finally
CoUnInitialize;
end;

 
多人接受答案了。
 
后退
顶部