Ich wollte mal über einen besonderen Effekt berichten, der mir letztens passierte.
Bei einem Programm -ich arbeite häufig mit Datenbanken (meist ODBC, weil es für mich einfacher ist (Delphi 5)) habe ich eine Datenbankformular angelegt und eine Database-Komponente und diverse davon abhängige Tabellen definiert. Nun habe ich für die Database-Komponenten eine AfterConnect-Prozedur geschreiben, in der die Tabellen geöffnet weden, die zu der Database gehören. Beim Schließen des Programms stürzte dieses mit Runtime Error 216 ab. Nach langem Probieren mit dem Debugger, wo der Fehler lag, habe ich festgestellt, dass die Datenbank sich nicht schließen ließ udn den Fehler produzierte. Als ich die gleiche Prozedur wie bei AfterConnect der Datenbank als BeforeDisconnect der Database, allerdings diesmal eben das Schließen der Tabellen implementierte, war der Fehler weg.
Sicher, werdne jetzt einige sage. Ist doch klar, was man erst öffnet, muss man anschließend auch schließen. Aber die Tabellen werden im Verlauf des Programms mehrfach geöffnet und wieder geschlossen, so dass man nicht 100% sicher sien kann, welchen Zustand jede Tabelle dieser Database hat. Man wird eben immer ein wenig schlauer.
Ds wollte ich nur mal kund tun.
_________________
Toleranz ist eine Grundvoraussetzung für das Leben.