Forum: Programmieren allgemein
by Fritzew,
29. Mär 2018
Ohne mehr Code kann ich Dir nicht mehr sagen,
aber es wird ja wohl definitiv mehr erzeugt als freigeben wird.....
Mach doch mal Spasseshalber zum Debugger eine globale Variable die du hochzählst bei jedem! erzeugen und runterzählst beim freigeben. Sollte ja am Ende 0 sein :-)
Forum: Programmieren allgemein
by Fritzew,
29. Mär 2018
Das wird sicher nur 1+ durchlaufen?
if nReading = 0 then
Begin
New(FToPBuffer);
LineStart := FToPBuffer;
LineStart^.Nr := 0;
end;
Forum: Programmieren allgemein
by Fritzew,
29. Mär 2018
Da liegt der Hund begraben.....
Der String wird nich freigegeben.
mach einfach
finalize(FPbuffer^);
//oder
FPBuffer^.Str := nil;
Dispose(FPBuffer);
FPBuffer := nil;
Forum: Programmieren allgemein
by Fritzew,
29. Mär 2018
Wann und vor allem wie gibst Du
FPBuffer^.Str := sBuffer; wieder frei?