Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

Re: TStringList Freigeben erzeugt Exception

  Alt 13. Mai 2008, 17:57
Ich schlage folgende Änderungen vor:
Delphi-Quellcode:
procedure TdamScaDatabase.DataModuleDestroy(Sender: TObject);
begin
  //SLTaetigkeiten.Free;
  //SLTaetigkeiten := nil;
  FreeAndNil(SLTaetigkeiten); // <==== Objekt ggf. freigeben und Zeiger auf nil setzen
end;

if not Query.Eof then
  begin
    Query.First;
    while not Query.Eof do
    begin
      if not Assigned(SLTaetigkeiten) then
      asm
         INT 3
      end
      else
         SLTaetigkeiten.Add(Query.FieldByName('KOSTSTELLE').AsString);
      Query.Next;
    end;
  end;
Wenn dein Programm im integrierte Debugger läuft, dann hält der Debugger mit INT 3 an der Stelle an,
an der du auf die freigegebene Stringliste zugreifen möchtest.
So kannst du dann z.B. den Aufrufstack dir anzeigen und herausfinden warum der Zugriff erfolgt,
obwohl doch gar nicht erlaubt.
Andreas
  Mit Zitat antworten Zitat