Hallo,
erstmal sorry für den blöden Titel. Mir fiel kein besserer ein. Wenn ihr mein Problem lesen solltet, dann könnt ihr es hoffentlich nachvollziehen.
Los geht's:
Ich habe eine Applikation geschrieben, die aus Hauptprogramm und Plug-Ins (
DLL-Forms) besteht. Diese werden, je nach Bedarf dynamisch geladen. Das funktioniert soweit auch super!
HauptAnwendung stellt für den Benutzerlogin eine Verbindung zu
MySQL via Zeos-DBO her. Die PlugIns beim Laden und benutzen stellen über ihre eigene Zeos-Komponente eine neue Verbindung her.
Nach jedem Öffnen einer Verbindung, wie diese nach Erhalt oder Senden der Daten wieder geschlossen.
Gut. Soweit die Konstellation. Jetzt zum Problem:
Wenn ich mich nun im Hauptprogramm einlogge und dann ein PlugIn bediene, funktioniert alles einwandtfrei.
Wenn ich mich aber nicht einlogge und dann ein Plugin bediene, welche seinerseits eine Verbindung zur
DB herstellt, kommt beim Beenden des Programms die Meldung: "Zu viele aufeinanderfolgende Exceptions...". Das Programm wird NICHT beendet. Also nicht vollständig jedenfalls.
Dieser Fehler tritt nur auf, wenn ich mich NICHT eingeloggt habe. Da das Programm noch im Anfangsstadium ist, hat der Login noch nichts zu sagen. Er kontrolliert noch nichts.
Aber das zeigt mir, dass irgendwo ein böser (Speicher)Fehler steckt. FastMM sagt beim Beenden, wenn ich micht nicht eingeloggt habe folgendes:
Zitat von
FastMM4:
13 - 20 bytes: EAccessViolation x 1, Unkown x 2
21 - 28 bytes: String x 6
101 - 116 bytes: String x 1
453 - 500 bytes: TZMyMSQLNativeLibraryLoader x 2
Wenn ich mich vorher "eingeloggt" habe, kommt keine Meldung von Zeos.
Nochmal ganz kurz:
Das einloggen hat (noch) nichts zu bedeuten. Es stellt nur Verbindung von der MainApp zur
DB her, prüft Username und PW und sagt "Hallo [Username]". Aber wenn das passiert, dann funktionieren auch die PlugIns. Wenn nicht, dann kommt die o.g Meldung.
Bitte, kann mir jmd. Tipps, Hilfe oder Lösungsansätze geben?
Ich verstehe diesen Fehler nicht.
Danke und Grüße!