habe mittlerweile folgendes rausgefunden:
Zitat:
OnEventAlert wird in einem eigenen Thread ausgeführt, um eine echte asynchrone Ereignisverarbeitung zu ermöglichen. Die IBEvents-Komponente stellt aber durch den entsprechenden Quelltext sicher, dass immer nur eine Ereignisbehandlungsroutine ausgeführt werden kann.
Das Quote stammt zwar aus den Docs zu IBX, aber ich nehme an, dass trifft auf FIB auch zu. Habe durch Probieren einfach mal rausgefunden, dass in dem Handler zu OnEventAlert bestimmte Dinge einfach mal nicht gehen und das Prog einfrieren (zum Beispiel das Öffnen und Schließen von Datasets). Meine Vermutung ist, dass es damit zusammenhängt, dass die Procedure in einem eigenen Thread ausgeführt wird. Jetzt dachte ich, vielleicht kann ich den Thread irgendwie beenden und die entsprechenden Jobs regulär im Programm ausführen...aber wie könnt ich das anstellen? Wenn ich aus dem Handler eine neue Procedure aufrufe bin ich immer noch im selben Thread, oder? Hat jemand von dem ganzen Thread-Zeugs Ahnung?
Danke,
Martin
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.