Speicherverwaltung war noch nie meine Stärke. Wie vermeide ich sinnvoll folgendes Speicherleck?
Delphi-Quellcode:
program Project2;
uses
Forms;
{$R *.res}
type
MyRecord = record
S1 : String;
S2 : String;
end;
var
GlobVar : MyRecord;
begin
ReportMemoryLeaksOnShutdown := True;
Application.Initialize;
Application.MainFormOnTaskbar := True;
fillchar(GlobVar, SizeOf(GlobVar), 0);
Globvar.S1 := 'testString';
fillchar(GlobVar, SizeOf(GlobVar), 0); <-- ab jetzt Speicherleck
Application.Run;
end.
Hintergrund : Ich hatte mich für einen globalen Record entschieden, da dieser alle wichtigen Daten meines aktuell gewählten Mantanten enthält, auf die ich ständig zugreifen muss. Fillchar deswegen, um bei einem Mandantenwechsel erst alle Inhalte zu leeren.