Solche Fehler gibt es leider oftmals, wenn Funktionen in einer Schleife aufgerufen werden und das Result nicht ordnungsgemäß initialisiert wird, also zu Beginn ein
Result := '';
.
Delphi gibt leider keine Warnung bei sowas aus, da gemanagte Typen automatisch initialisiert werden,
allerdingt macht der Compiler aus
function Test(...): string;
ein
procedure Test(...; var Result: string);
.
Die implizite "lokale" Variable beim Aufrufer, für das Funktions-Result, wurde ja mit '' initialisiert, allerdings trifft das nur für den ersten Schleifendurchlauf zu, aber initialisiert ist initialisiert womit es keine Warnung gibt.
Ich und auch Andere hatten schon mehrmals im
QC darum gebeten, dass die "Variable wurde initialisiert"-Kennung für das Result von Funktionen zu Beginn der Funktion gelöscht wird, damit dieser Fehler endlich vom Compiler gemeldet werden kann ... tja, aber auf uns hört ja Niemand.