c++ builder > Datasnap.Win.SConnect.pas > WaitForSingleObject(FTransport.Handle, 180000);


動作確認
C++ Builder XE4

Delphi Advent Calender 24日目のyajuさんの記事
http://blogs.wankuma.com/yaju/archive/2015/12/24/524977.aspx

Delphi5の話と思っていたら、XE4でも関連のコードが見つかった。

Program FilesのRadStudioのフォルダにおいて「SConnect.pas」で検索。
Datasnap.Win.SConnect.pasが見つかった。

そのコードに WaitForSingleObject(FTransport.Handle, 180000);がある。

Datasnap.Win.SConnect.pas
...
procedure TStreamedConnection.InternalClose;
begin
  if Assigned(FTransport) then
  begin
    FTransport.OnTerminate := nil;
    FTransport.Terminate;
    PostThreadMessage(FTransport.ThreadID, WM_USER, 0, 0);
    if Assigned(FTransport.FTransport) then
      WaitForSingleObject(FTransport.Handle, 180000);
    FTransport := nil;
  end else
  if Assigned(FTransIntf) then
  begin
    FTransIntf.Connected := False;
    FTransIntf := nil;
  end;
end;
...

しかし、Datasnap.Win.SConnect.pasがどういう時に使われるのか未学習。