Danke für all Eure Tips, die haben mir schonmal weiter geholfen.
@igel457 Du hast Recht, die Imagelist wurde nicht freigegeben. VOn Andorra2d aus treten jetzt keine Memory Leaks mehr auf.
Ich konnte den Leak auf folgende Prozedur zurückführen:
Delphi-Quellcode:
function Textwerkzeug.wortAn( pText:
string; wortNummer: integer ):
string;
var
lText:
string;
begin
if copy( pText, length( pText ) - 1, 2 ) = CRLF
then
pText := copy( pText, 1, length( pText ) - 2 );
//LEAK
lText := pText;
while ( ansiPos( zTrennung, lText ) > 0 )
and ( wortNummer > 1 )
do begin
delete( lText, 1, ansiPos( zTrennung, lText ) + length( zTrennung ) - 1 );
dec( wortNummer );
end;
if wortNummer = 1
then
if ansiPos( zTrennung, lText ) > 0
then
result := copy( lText, 1, ansiPos( zTrennung, lText ) - 1 )
//LEAK
else
result := lText
else
result := '
';
end;
Allerdings verstehe ich nicht genau wieso hier ein Memory Leak auftritt.
Das (pText/result über den copy Befehl) sind doch strings und keine Objekte? Wie soll man die denn freigeben/löschen?