Delphi-Quellcode:
finally
// Clean up
Finalize(Positions);
Finalize(Patterns);
end;
Dieses kannst'e dir eigentlich sparen, denn Delphi hat für dynamische Arrays, Strings und Interfaces ein automatisches und exceptionsicheres Finalize (im "End;" der Funktion) eingebaut.
Delphi-Quellcode:
. // Clean up
Finalize(Positions);
except
end;
ein Except ohne Fehlerbehandlung ist auch nicht sonderlich gut ... lass es lieber weg
PS: SizeOf(Char) ist eine Konstante und würde direkt verrechnet
und bei CharLength als Variable müßte immer erst der Variableninhalt rüberkopiert werden, bevor gerechnet wird.