Ja, freelibrary war ein Copy and paste Fehler.
In meiner realen Anwendung verwende ich das gar nicht, weil ich da die
DLL statisch eingebunden habe. Hat einfach weniger Probleme geliefert.
In meinem Beispielprogramm habe ich nun freelibrary korrigiert. Merkwürdigerweise liefert nun auch Button1 in der Maske der
dll DAS Problem. Also sobald eine Datenbankfunktion ausgeführt wird, bekomme ich Probleme beim Freigeben der
DLL.
Das Programm hängt dann einfach beim Betätigen von Button3 im rufenden Programm.
Was
VCL anbelangt, so muss ich das leider machen. Ich bin gerade dabei ein Programm mit hundertausenden Programmzeilen umzubauen. Da wird eine Maske nach der anderen und ein Modul nach dem anderen auf die neue Benutzeroberfläche gebracht. Das geht leider nur über die
DLL.
Hat bisher auch noch kein Problem gegeben, bis ich jetzt auf XE 7 umgestiegen bin.
Ich habe jetzt aber einen anderen Verdacht. Nachdem das immer im Zusammenhang mit den IBDAC Komponenten auftritt, kann da natürlich auch die Ursache liegen. Ich musste da auf die neueste Version updaten, um sie für XE7 nutzen zu können.
In delphi XE5 habe ich noch die alte Version der IBDAC. Ob da nicht auch mit Delphi XE5 das Problem auftritt. Ich trau mich aber nicht da ein Update zu machen, weil ich sonst keine Chance mehr habe die
DLL neu zu kompilieren, wenn das Problem da auch auftritt.
Werde aber mal mit Devart Kontakt aufnehmen. Mal sehen, ob die eine Erklährung haben.
Vorher versuche ich noch eine Routine zu erstellen, wo keine
VCL benutzt wird, sondern nur ein reiner Datenbankaufruf geschieht. Mal sehen, ob da das Problem auch auftritt.
Echt doof so was. Da macht man nur ein Update auf die aktuellsten Versionen und schon sitzt man in der Sch....