anchor.diff:  
    Prebirani lokomotivy:
     1) Zavolat locoAcquire do Trakce (zjisti vsechny informace o lokomotive)
  -  2) Nastavit spravny smer loko (vzhledem k souprave)
  +  2) Nastavit spravny smer loko a rychlost loko (vzhledem k souprave nebo aktualni)
     3) Nastavit funkce na pzadovane hodnoty
     4) Naprogramovat POM
     Pokud v libovolne casti procesu nastane chyba, je vyvolan Error callback.
  
positive.code:   begin
     // souprava ma zadany prave jeden smer
     direction := ((Soupravy[Self.souprava].smer = THVStanoviste.sudy) xor (Self.stav.StanovisteA = THVStanoviste.sudy));
     if ((direction = Self.direction) and (Self.speedStep = 0)) then
      begin
       // smer ok
       Self.TrakceAcquiredDirection(Sender, nil);
      end else begin
       // smer nok -> aktualizovat smer
       try
         Self.SetDirection(direction,
                           TTrakce.Callback(Self.TrakceAcquiredDirection),
                           TTrakce.Callback(Self.TrakceAcquiredErr));
       except
         Self.TrakceAcquiredErr(Self, nil);
       end;
      end;
    end else
     Self.TrakceAcquiredDirection(Sender, nil);
  end;
  
  procedure THV.TrakceAcquiredDirection(Sender: TObject; data: Pointer);
  begin
   // Set functions as we wish
   Self.StavFunctionsToSlotFunctions(TTrakce.Callback(Self.TrakceAcquiredFunctionsSet),
                                     TTrakce.Callback(Self.TrakceAcquiredErr));
  end;
  
negative.code: 
  procedure THV.TrakceAcquired(Sender: TObject; LocoInfo: TTrkLocoInfo);
  var direction:Boolean;
      speedStep:Integer;
  begin
   Self.slot := LocoInfo;
   Self.changed := true;
  