anchor.diff:      FOnAsyncEvent: TOnASyncEvent;
       FTerminated: Boolean;
       FStopEvent:TEvent;
  +    FWaitEvent: TEvent;
       procedure InnerASync(pvWorker:TASyncWorker);
     public
       constructor Create;
       destructor Destroy; override;
  +    procedure WaitForSleep(pvTime:Cardinal);
   
       procedure Start(pvASyncEvent: TOnASyncEvent);
       procedure Terminate;
  
positive.code: procedure TASyncInvoker.Terminate;
  begin
    FTerminated := True;
  end;
  
  procedure TASyncInvoker.WaitForStop;
  
negative.code: begin
    inherited Create;
    FStopEvent := TEvent.Create(nil, True, True, '');
    FWaitEvent := TEvent.Create(nil, True, true, '');
  end;
  
  destructor TASyncInvoker.Destroy;
  begin
    FStopEvent.Free;
    FWaitEvent.Free;
    inherited;
  end;
  
  