Einzelnen Beitrag anzeigen

w4rheart

Registriert seit: 16. Mär 2010
53 Beiträge
 
#13

AW: Memory Leaks beheben

  Alt 19. Dez 2010, 11:55
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?
  Mit Zitat antworten Zitat