anchor.diff:   dir := HVDb[Self.HVs[0]].stACurrentDirection;
   
    if (dir = ownConvert.IntToBool(Integer(Self.direction))) then Exit();
  - for i := 1 to Self.HVs.Count-1 do
  + for var i := 1 to Self.HVs.Count-1 do
      if (dir <> HVDb[Self.HVs[i]].stACurrentDirection) then
        Exit();
   
  
positive.code: procedure TTrain.UpdateTrainFromPanel(train: TStrings; Usek: TObject; area: TObject; ok: TCb; err: TCb);
  var json: TJsonObject;
      hvs, hv: TStrings;
      s, straddr: string;
      hvobj: TJsonObject;
  begin
   json := TJsonObject.Create();
   try
  
negative.code: end;
  
  procedure TTrain.OnPredictedSignalChange();
  begin
   for var addr in Self.HVs do
     HVDb[addr].OnPredictedSignalChange();
  end;
  
  procedure TTrain.OnExpectedSpeedChange();
  begin
   for var addr in Self.HVs do
     HVDb[addr].OnExpectedSpeedChange();
  end;
  
  