Folgendes Problem!
Ich hab ein MDIForm und viele DLLs! Diese DLLs beherbergen viele Fenster die meist als MDIChild geöffnet werden sollen.
Dazu habe ich an die DLL beim Initialisieren das Application objekt übergeben! Wenn ich jetzt ein MDIChild erzeuge ( MDIForm := TMDIForm.Create(Application) ) tritt ein Merkwürdiger effekt auf!
Und zwar kann man ja in einem MDIForm nachschauen wie viele Fenster geöffnet sind(Application.MainForm.MDIChildCount)! Mach ich das aus einer DLL die ein Fenster geöffnet hat dann seh ich nur die Fenster die aus der DLL Stammen! Im MDIForm selber (self.MDIChildCount) steht in der Variable eine 0 sprich es exsistieren keine MDI Fenster!
Wo liegt hierbei der Fehler?
Kann man das Application objekt noch anders übergeben??
(Nur das handle übergeben funktioniert leider nicht!)
Weiteres Problem!
Wenn ich jetzt aus dem MDIForm (also der *.exe Datei) ein Fenster schließe welches von einer DLL geöffnet wurde bekommen ich Merkwürdiger weise immer andere Fehlermeldungen!
Mal nach dem ich das Programm geschlossen hab und mal sofort ein Lesefehler an Addresse FFFFFFFFF oder 0000000000!
Ich tipp mal das der Speicher nicht richtig freigegeben wird!
Hat jemand eine Idee wie man das rausfinden kann?
Im Debugger hab ich irgenwie sowas wie ne Auflistung der erzeugten Objekte leider nicht gefunden!
MfG
Marcel Schmied
Ich hab ein MDIForm und viele DLLs! Diese DLLs beherbergen viele Fenster die meist als MDIChild geöffnet werden sollen.
Dazu habe ich an die DLL beim Initialisieren das Application objekt übergeben! Wenn ich jetzt ein MDIChild erzeuge ( MDIForm := TMDIForm.Create(Application) ) tritt ein Merkwürdiger effekt auf!
Und zwar kann man ja in einem MDIForm nachschauen wie viele Fenster geöffnet sind(Application.MainForm.MDIChildCount)! Mach ich das aus einer DLL die ein Fenster geöffnet hat dann seh ich nur die Fenster die aus der DLL Stammen! Im MDIForm selber (self.MDIChildCount) steht in der Variable eine 0 sprich es exsistieren keine MDI Fenster!
Wo liegt hierbei der Fehler?
Kann man das Application objekt noch anders übergeben??
(Nur das handle übergeben funktioniert leider nicht!)
Weiteres Problem!
Wenn ich jetzt aus dem MDIForm (also der *.exe Datei) ein Fenster schließe welches von einer DLL geöffnet wurde bekommen ich Merkwürdiger weise immer andere Fehlermeldungen!
Mal nach dem ich das Programm geschlossen hab und mal sofort ein Lesefehler an Addresse FFFFFFFFF oder 0000000000!
Ich tipp mal das der Speicher nicht richtig freigegeben wird!
Hat jemand eine Idee wie man das rausfinden kann?
Im Debugger hab ich irgenwie sowas wie ne Auflistung der erzeugten Objekte leider nicht gefunden!
MfG
Marcel Schmied
Comment