W
wolaixue
Unregistered / Unconfirmed
GUEST, unregistred user!
中间层服务器如果先启动,则客户连接一切正常;
可如果中间层服务器没有启动,客户连接时能启动它但无法返回,
好象是中间层程序死了,而客户端程序等待。
我跟踪发现:
procedure InitComServer;
begin
if SaveInitProc <> nil then
TProcedure(SaveInitProc);
ComServer.FStartSuspended := (CoInitFlags <> -1) and
Assigned(ComObj.CoInitializeEx) and Assigned(ComObj.CoResumeClassObjects);
ComServer.Initialize;
if ComServer.FStartSuspended then
ComObj.CoResumeClassObjects;
end;
其中ComObj.CoResumeClassObjects;导致死机。
//@CoResumeClassObjects := Windows.GetProcAddress(Ole32, 'CoResumeClassObjects');
这个问题会出在哪?
可如果中间层服务器没有启动,客户连接时能启动它但无法返回,
好象是中间层程序死了,而客户端程序等待。
我跟踪发现:
procedure InitComServer;
begin
if SaveInitProc <> nil then
TProcedure(SaveInitProc);
ComServer.FStartSuspended := (CoInitFlags <> -1) and
Assigned(ComObj.CoInitializeEx) and Assigned(ComObj.CoResumeClassObjects);
ComServer.Initialize;
if ComServer.FStartSuspended then
ComObj.CoResumeClassObjects;
end;
其中ComObj.CoResumeClassObjects;导致死机。
//@CoResumeClassObjects := Windows.GetProcAddress(Ole32, 'CoResumeClassObjects');
这个问题会出在哪?