anchor.diff:     try
        ExtractStringsEx([']'], ['['], train[6], hvs);
   
  -     for s in hvs do
  +     for var s in hvs do
         begin
          hv.Clear();
          ExtractStringsEx(['|'], [], s, hv);
  -       straddr := hv[4];
  -       hvobj := json['hvs'].O[straddr];
  +       var straddr := hv[4];
  +       var hvobj := json['hvs'].O[straddr];
          hvobj['note'] := hv[3];
          hvobj['sta'] := StrToInt(hv[7]);
          hvobj['func'] := hv[8];
  
positive.code: 
   TBlkTrack(Self.front).Change();
  
   for signal in TBlkTrack(Self.front).signalJCRef do
     TBlkSignal(signal).UpdateTrainSpeed(true);
  
   Self.changed := true;
  
negative.code: ////////////////////////////////////////////////////////////////////////////////
  
  procedure TTrain.SetFront(front: TObject);
  begin
   if (Self.data.front = front) then Exit();
  
  