anchor.diff:    if not dcdOn then
       exit;
     lazyServerStart;
  -  if DCD_client.Running then
  -    exit;
  -  //
  -  DCD_client.Parameters.Clear;
  +  if DCD_client.Running then DCD_client.Terminate(0);
  +  //
  +  DCD_client.Parameters.Clear;
  +  DCD_client.Parameters.Add('-d');
     DCD_client.Parameters.Add('-c');
     DCD_client.Parameters.Add(intToStr(aPosition));
  -  DCD_client.Parameters.Add('-d');
     DCD_client.Parameters.Add(aFilename);
     DCD_client.Execute;
     //
  
positive.code:  * after the call aFilename and aPosition contains the location filename and position.
   *)
  procedure getSymbolLoc(var aFilename: string; var aPosition: Integer);
  
  var
    DCD_server: TProcess = nil;
    DCD_client: TProcess = nil;
    lines: TStringList;
    dcdOn: boolean;
  
  implementation
  
  procedure lazyServerStart;
  begin
  
negative.code:   createServer;
    DCD_client := TProcess.Create(nil);
    DCD_client.Executable := 'dcd-client' + exeExt;
    DCD_client.Options := [poUsePipes, poStderrToOutPut {$IFDEF WINDOWS}, poNewConsole{$ENDIF}];
    {$IFNDEF DEBUG}
    DCD_client.ShowWindow := swoHIDE;
    {$ENDIF}
    dcdOn := exeInSysPath(DCD_server.Executable) and exeInSysPath(DCD_client.Executable);
    lines := TStringList.Create;
  finalization
  