Hallo zusammen,
ich habe folgendes Problem.
Meine Anwendung besteht aus vielen MDIChild-Fenstern, die bei Bedarf dynamisch erzeugt werden. Bei einem dieser Fenster besteht nun das Problem, dass beim Beenden der Anwendung die Fehlermeldung <B>"Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000"</B> erscheint. Dies aber nur, wenn die gesamte Anwendung geschlossen wird. Wird zuerst das Fenster und dann die Anwendung geschlossen, kommt die Fehlermeldung nicht. Sobald ich eine Komponente in diesem Fenster lösche, ist das Problem behoben. Sobald ich aber nur wieder eine Komponente, sei es ein TLable, TButton oder in einem TTable ein neues TIntegerfeld öffne, ist die Meldung wieder da. In dem Fenster können über TPageControl verschiedene Eingaberegister geöffnet werde. Alle TTable, die eine Bearbeitung von Daten ermöglichen, sind in ein Datamodul ausgelagert. Trotzdem sind noch 19 TTable- und 30 TDatasource- Komponenten enthalten. Über diese werden 26 TDBLookupComboPlus bedient. (Dies ist eine zugekaufte, verbesserte LookupCombo.) Insgesamt werden für das Fenster 462 Komponenten verwendet (101 TLabel, 43 TStringField, 30 TDataSource, 30 TDBText, 29 TBitBtn, ...). In einem anderen Fenster verwende ich aber 830 Komponenten ohne Probleme. Ich arbeite mit Delphi 5.0.
Kann mir jemand sagen, wie ich der Ursache auf die Spur kommen kann? Per Debuger habe ich festgestellt, dass die Meldung erst erscheint, wenn "Application.Run;" verlassen wird.
Vielen Dank
Gerd
ich habe folgendes Problem.
Meine Anwendung besteht aus vielen MDIChild-Fenstern, die bei Bedarf dynamisch erzeugt werden. Bei einem dieser Fenster besteht nun das Problem, dass beim Beenden der Anwendung die Fehlermeldung <B>"Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000"</B> erscheint. Dies aber nur, wenn die gesamte Anwendung geschlossen wird. Wird zuerst das Fenster und dann die Anwendung geschlossen, kommt die Fehlermeldung nicht. Sobald ich eine Komponente in diesem Fenster lösche, ist das Problem behoben. Sobald ich aber nur wieder eine Komponente, sei es ein TLable, TButton oder in einem TTable ein neues TIntegerfeld öffne, ist die Meldung wieder da. In dem Fenster können über TPageControl verschiedene Eingaberegister geöffnet werde. Alle TTable, die eine Bearbeitung von Daten ermöglichen, sind in ein Datamodul ausgelagert. Trotzdem sind noch 19 TTable- und 30 TDatasource- Komponenten enthalten. Über diese werden 26 TDBLookupComboPlus bedient. (Dies ist eine zugekaufte, verbesserte LookupCombo.) Insgesamt werden für das Fenster 462 Komponenten verwendet (101 TLabel, 43 TStringField, 30 TDataSource, 30 TDBText, 29 TBitBtn, ...). In einem anderen Fenster verwende ich aber 830 Komponenten ohne Probleme. Ich arbeite mit Delphi 5.0.
Kann mir jemand sagen, wie ich der Ursache auf die Spur kommen kann? Per Debuger habe ich festgestellt, dass die Meldung erst erscheint, wenn "Application.Run;" verlassen wird.
Vielen Dank
Gerd
Comment