Hallo,
ich habe mal eine Frage. Ich arbeite mit einer StringList, welche ich im Create eines DataModules erzeuge und später im Destroy des DataModules wieder freigeben möchte.
Folgender Aufruf geht nicht, ich bekomme dort eine
Exception: Zu viele Exceptions sind aufgetreten
:
Delphi-Quellcode:
procedure TdamScaDatabase.DataModuleCreate(Sender: TObject);
begin
SLTaetigkeiten := TStringList.Create;
end; // TdamScaDatabase.DataModuleCreate
procedure TdamScaDatabase.DataModuleDestroy(Sender: TObject);
begin
if SLTaetigkeiten <> nil then
begin
SLTaetigkeiten.Free;
SLTaetigkeiten := nil;
end;
end;
wohin gegen, dass hier sehr wohl funktioniert:
Delphi-Quellcode:
procedure TdamScaDatabase.DataModuleCreate(Sender: TObject);
begin
SLTaetigkeiten := TStringList.Create;
end; // TdamScaDatabase.DataModuleCreate
procedure TdamScaDatabase.DataModuleDestroy(Sender: TObject);
begin
if SLTaetigkeiten <> nil then
begin
SLTaetigkeiten.Clear;
SLTaetigkeiten.Free;
SLTaetigkeiten := nil;
end;
end;
Der Unterschied ist also, dass ich das Clear ebenfalls noch mit aufrufe. Muss das so, oder mache ich an der Stelle etwas falsch, könnte man das anders/besser lösen.