Zugriffsverletzung bei ADOQuery->Close() ??
-
Hallo, ich bekomme immer eine Zugriffsverletzung bei einem Befehl ADOQuery->Close() . Kommt das davon, dass diese ADOQuery schon vorher geschlossen wurde?
Ich dachte, dass man den Close-Befehl auch bei geschlossener Query benutzen kann ...
-
Hallo
Die Zugriffsverletzung klingt eher danach, als ob dein Zeiger ADOQuery nicht mehr gültig ist, z.B. weil die eigentliche Instanz schon gelöscht wurde.
bis bald
akari
-
Ja das könnte möglich sein, denn jetzt tritt der Fehler auch bei ADOQuery->Parameters->ParamByName(...) auf. Aber die ADOQuery ist per Hand erstellt worden und liegt auf dem Formular! Ich rufe nur aus einem anderen Formular eine Funktion auf, aus der aud die besagte ADOQuery zugegriffen wird.
-
Hallo
Dann ist Formular-Instanz A mit der Query noch oder schon wieder ungültig, wenn du zur Laufzeit von Formular B aus darauf zugreifst. Das kann passieren wenn der Aufruf in Konstruktoren oder Destruktoren steht.
Um aber nicht weiter herumzuraten, solltest du den Fehlerablauf erstmal mit dem Debugger weiter rekonstruieren.
bis bald
akari
-
Das ist ja das komische, beide Formulare existieren zu dieser Zeit noch! Und in Kontruktoren oder Destruktoren stehen die Funktionsaufrufe nicht.
Der Debugger bringt mir die erste Codezeile als Fehler, wo ich auf die ADOQuery zugreife!
-
Du könntest mal ohne Laufzeit-Packages und mit Debug-Bibliotheken kompilieren, dann kannst du in den VCL-Quelltext hineinsteppen und bekommst auch einen genauen Call-Stack. Es ist zwar äußerst unwahrscheinlich, daß es sich um einen Fehler in der VCL handelt, aber es wird vermutlich trotzdem zur Fehlerdiagnose helfen (wenn nicht dir, so doch uns
).