Hallo Sidorion,
Zitat:
Na das ist mal wieder ein klassischer Fall von fundiertem Halbwissen.
...oder einer falsche Einschätzung deinerseits aufgrund meiner unglücklichen Formulierung. Hätte ich von "untergeordneten Controls" statt "Child-Controls" gesprochen, wäre hoffentlich klar gewesen, worauf ich hinaus wollte:
Zitat von
TWinControl.Destroy:
Delphi-Quellcode:
[...]
I := ControlCount;
while I <> 0 do
begin
Instance := Controls[I - 1];
Remove(Instance);
Instance.Destroy; // <---
I := ControlCount;
end;
Ich hegte den Verdacht, daß der Parent (nicht Owner!) der Labels vorzeitig freigegeben wird und damit seine untergeordneten(!) Controls ebenfalls vernichtet. Dies hätte im dynamischen Array ungültige Referenzen hinterlassen. Der Versuch, über diese Referenzen eine erneute Freigabe mittels Free durchzuführen, hätte dann zu einer Schutzverletzung geführt.
Gruß Hawkeye