现在hr=S_OK了,但如此执行后aparment的COM多线程还是没体现出来,还是单线程应答cleint端,不知是否如
下的delphi5程序有问题?
var
Form2: TForm2;
ChatServer: iChatUser;
FStream:IStream;
hr:HRESULT ;
...
procedure TForm2.btnConnectClick(Sender: TObject);
begin
CoInitializeEx(Nil,COINIT_MULTITHREADED);
ChatServer := CoChatUser.Create;
hr:=CoMarshalInterThreadInterfaceInStream(IID_IChatUser
,ChatServer ,FStream);
ChatServer.Login('ok');
...
{
TAutoObjectFactory.Create(ComServer, TChatUser, Class_ChatUser,
ciMultiInstance,tmApartment);
Client端只有主窗体Form2,无线程
ChatServer的Login方法调用了Sleep(10000);//等待10秒
如果启动两个Client端,要20秒以后第二个Client端才得到返回
另外:我的COM用使用了回调event;对Ix接口的指针进行反调整的作用是什么?
}