Zugriffsverletzung beim Starten meiner Applikation
-
Hallo!
Ich habe hier eine seltsame Zugriffsverletzung und weiß nicht woran das liegt. Nehm ich den Code raus, dann funktioniert alles prima...
Ich poste hier mal den Code:
void __fastcall Tf_start::DataSource1_Benutzerverwaltung_QueryDataChange(TObject *Sender, TField *Field) { // DataSet mit Query koppeln f_benutzerverwaltung->ADOTable1->Open(); f_benutzerverwaltung->ADOTable1->First(); int benutzernummer = ADOQuery1_Benutzerverwaltung->FieldByName("NUMMER")->AsInteger; f_benutzerverwaltung->ADOTable1->Locate("NUMMER", benutzernummer, TLocateOptions() << loCaseInsensitive); }
Falls jemand eine Idee hat, wär ich dankbar.
Viele Grüße
Maik
-
Welche Fehlermeldung bekommst Du denn?
Möglicherweise existiert das Formular (f_benutzerverwaltung), auf das Du zugreifst, zu diesem Zeitpunkt noch nicht.
-
...die Fehlermeldung lautet: Zugriffsverletzung bei Adresse 00401EE in Modul 'Start.exe'. Lesen von Adresse 000003F8.
Ich werde mal prüfen ob das Formular zu diesem Zeitpunkt schon existiert...
-
...ich habe jetzt mal geschaut, es werden alle Formulare bis auf das Formular 'f_splashscreen' automatisch erzeugt. Ich versteh das nicht...
-
Wann (zeitlich gesehen) wird dieser Code das erste Mal aufgerufen? Welche Zeile wird als fehlerhafte angezeigt?
Hast du mal mit dem Debugger den Wert der einzelnen Variablen geprüft?Gruß KK
-
Ich habe keine Ahnung wie ich prüfen kann wann der Code (zeitlich) das erste Mal ausgeführt wird. Ich bin mit dem Debugger nicht so firm...
-
-
...habe das Problem jetzt lösen können, es lag tatsächlich an den nicht erzeugten Formularen.
Ich führe nun o. g. Code erst beim Öffnen des Fensters aus, jetzt funktioniert alles.
Danke für die Hilfe,
gruß
Maik