anchor.diff:     if (HVDb[addr].acquired) then
        HVDb[addr].StavFunctionsToSlotFunctions(TTrakce.Callback(), TTrakce.Callback());
   
  -   ORTCPServer.SendInfoMsg(Sender, 'Loko '+IntToStr(addr)+' aktualizováno');
  +   Self.SendLn(Sender, 'HV;EDIT;'+IntToStr(addr)+';OK');
    except
      on e:Exception do
       begin
  -     ORTCPServer.BottomError(Sender, e.Message, Self.ShortName, 'TRAKCE');
  +     Self.SendLn(Sender, 'HV;EDIT;'+IntToStr(addr)+';ERR;'+E.Message);
        if (Assigned(data)) then data.Free();
       end;
    end;
  
positive.code: procedure TOR.PanelMoveLok(Sender:TIdContext; lok_addr:word; new_or:string);
  var new: TOR;
  begin
   //kontrola opravneni klienta
   if (Integer(Self.PnlDGetRights(Sender)) < _R_write) then
    begin
     ORTCPServer.SendInfoMsg(Sender, _COM_ACCESS_DENIED);
     Exit;
    end;
  
   new := ORs.Get(new_or);
   if (new = nil) then
    begin
     ORTCPServer.SendInfoMsg(Sender, 'Tato OR neexistuje!');
     Exit();
    end;
   if (not Assigned(HVDb[lok_addr])) then
    begin
     ORTCPServer.SendInfoMsg(Sender, 'HV '+IntToStr(lok_addr)+' neexistuje!');
     Exit();
    end;
   if (HVDb[lok_addr].Stav.train > -1) then
    begin
     ORTCPServer.SendInfoMsg(Sender, 'HV '+IntToStr(lok_addr)+' přiřazeno soupravě '+
          Trains.GetTrainNameByIndex(HVDb[lok_addr].Stav.train)+'!');
     Exit();
    end;
   if (HVDb[lok_addr].Stav.stanice <> Self) then
    begin
     ORTCPServer.SendInfoMsg(Sender, 'HV '+IntToStr(lok_addr)+' nepatří této stanici!');
     Exit();
    end;
  
   HVDb[lok_addr].PredejStanici(new);
   ORTCPServer.SendInfoMsg(Sender, 'HV '+IntToStr(lok_addr)+' předáno stanici '+new.Name);
  end;
  
  ////////////////////////////////////////////////////////////////////////////////
  
negative.code: procedure TOR.PanelHVAdd(Sender:TIDContext; str:string);
  var HV: THV;
  begin
   if (Self.PnlDGetRights(Sender) < write) then
    begin
     Self.SendLn(Sender, 'HV;ADD;-;ERR;Přístup odepřen');
     Exit();
    end;
  
   try
  