Einzelnen Beitrag anzeigen

Morfio

Registriert seit: 15. Dez 2003
53 Beiträge
 
#1

Formular mehrmals öffnen -> Absturz

  Alt 5. Jan 2004, 08:02
Hallo,

ich habe ein Formular, das beim Start meiner MDI-Anwendung gleich nach dem Einloggen gestartet wird. Dieses Formular hat zwei Buttons, die versteckt sind. Innerhalb des Formulares befindet sich ein StringGrid. Klickt man einen Eintrag an, öffnet sich ein weiteres Formular, in dem man den Eintrag bearbeiten kann. Bis dahin kein Problem.

Innerhalb des zweiten Formulars sind aber wieder StringGrids. Und zusätzlich gibt es einen Button, mit dem man einen neuen Eintrag diesem StringGrid zuweisen kann. Klickt man auf diesen Button (Hinzufügen), öffnet sich erneut das erste Formular, auf dem die zwei versteckten Buttons nun angezeigt werden. Aus der Liste kann man nun einen Eintrag auswählen (einer der Buttons ist Wählen, der andere ist Abbrechen). Klickt man auf Wählen, wird der Eintrag auch übernommen. Bis hier auch kein Problem.

Innerhalb des Formulars kann man aber weitere von diesen zweiten Formularen öffnen, um Einträge zu editieren, zu löschen oder hinzuzufügen. Klickt man nun doppelt so einen Eintrag an, öffnet sich natürlich wieder das zweite Formular. Schließt man dieses wieder und klickt dann auf Abbrechen oder Wählen, so stürzt das gesamte Programme mit der Fehlermeldung:

Zitat:
Im Projekte BDB.exe ist eine Exception der Klasse EAccessviolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00CB134E. Lesen von Adresse FFFFFFFF'. Der Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
Der Code, der dieses Fenster öffnet, lautet:

Delphi-Quellcode:
procedure TfrmBuchdatenbank.sgSucheDblClick(Sender: TObject);
begin
   Adresse := TfrmAdresseBearbeiten.Create(Self);
   Adresse.Show;
   Adresse.SetFields(sgSuche.Cols[0].Strings[sgSuche.Row]);
end;
Adresse ist global. Ich schätze mal, dadurch tritt der Fehler irgendwie auf, kann das sein?

Vielen Dank,

Morfio ...
  Mit Zitat antworten Zitat