Deine Klasse TStringArray hat zwar eine Methode Clear, aber die tut nix (die will noch nicht einmal spielen
), daher auch die Speicherlecks. Ob das alle Lecks verursacht, weiß ich nicht, denn das untersuche ich zu dieser Stunde nicht mehr.
Übrigens ist es immer gut, je ein
inherited;
im Konstruktor und Destruktor stehen zu haben. Warum? Nun, zum Zeitpunkt X leitet man vielleicht von TObject ab (dessen Kon- und Destruktoren leer sind), aber vielleicht will/muss man die Ableitung zu Zeitpunkt X+X mal ändern auf eine Klasse, dessen Kon- und Destruktoren etwas tun und schon hat man ohne
inherited;
wunderschöne Lecks; ich hatte das heute selbst bei einer von TStringList abgeleiteten Klasse.
Davon abgesehen frage ich mich, warum du nicht gleich TStringList benutzt und stattdessen das
Rad (die Strings) neu erfindest.
MfG Dalai