Update auf 5.1.0

Was ist bei einem Update auf die Version 5.1.0 zu beachten

Im Bereich Scripting haben sich hier zwei kleine aber möglicherweise projektspezifisch relevante Änderungen ergeben.

Feldinhalte lesen

Zum einen liefern alle relevanten Funktion im Bereich Auslesen von Feldern oder Inhalten, im Falle das das angegebene Objekt nicht gefunden wurde, nun Null an Stelle von UnAssigned zurück. Der Wert UnAssigned war leider hierfür ursprünglich falsch gewählt, da dieser gleichbedeutend mit 0 oder einem Leerstring ist - entsprechend nicht differenziert werden konnte. Als Lösung müssen die Werte entsprechend mit VarTo... konvertiert oder die Funktionen mit Default-Wert Option verwendet werden.

Initialwerte von Variablen

Das zweite Thema betrifft die Initialwerte von deklarierten Variablen. Diese konnten früher in einem nicht initialisierten Zustand bereits verwendet werden - mit der 5.0.3 ist dies nicht mehr möglich.

So hat beispielsweise früher folgendes Snippet funktioniert und "Test" ausgegeben - ab der 5.0.3 wird hier in a ein Leerstring weitergeführt.

var
  a : String;
begin
  a := a + 'Test';
  ShowMessage(a);
end;

Die Lösung sieht wie folgt aus.

var
  a : String;
begin
  a := VarToStr(a) + 'Test';
  ShowMessage(a);
end;

oder

var
  a : String;
begin
  a := '';
  a := a + 'Test';
  ShowMessage(a);
end;