Einzelnen Beitrag anzeigen

angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#1

TStringList Freigeben erzeugt Exception

  Alt 13. Mai 2008, 13:08
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.
Ansgar
  Mit Zitat antworten Zitat