![]() |
Jedi-VCL Fehler: kein übergeordnetes Fenster
Ich habe folgendes Problem :wall: :
Wenn ich eine Jedi-Komponente (z.B. JvMemo) auf ein Form platziere erhalte ich zur Laufzeit beim Beenden/Zerstören des Programmes die Exception EInvalidOperation mit der Meldung: Element 'JvElement' hat kein übergeordnetes Fenster. Kennt jemand dieses Problem und vor allem weiß jemand eine Lösung? :gruebel: [edit=sakura] Jedi->Jedi-VCL; zur Verdeutlichung angepasst. Mfg, sakura[/edit] |
Re: Jedi Fehler: kein übergeordnetes Fenster
Zitat:
Delphi-Quellcode:
// der Owner der Komponente muss das Formular sein, damit
// beim Zerstören des Formulars das Memo automatisch mitzerstört wird tmpMemo := TJvMemo.Create(self); tmpMemo.left := ... .... // den Owner zuweisen // das muss nicht das Formular sein, sondern ein Control, dass SubControls akzeptiert tmpMemo.Parent := Panel17; |
Re: Jedi Fehler: kein übergeordnetes Fenster
Danke shmia,
aber leider ist es das nicht. Erstens gehe ich davon aus, wenn ich ein Objekt auf dem Form platziere, das die Parentzuweisung damit geklärt ist. Zum anderen, selbst wenn ich nachträglich z.B. das Formular als Parent zuweise
Delphi-Quellcode:
kommt immer noch der gleiche Fehler.
mem.Parent:=FrmLnwBearbeiten;
Übrigens passiert das nicht bei allen Jedi-Komponenten, JvSpinEdit funktioniert zum Beispiel :shock: |
Re: Jedi Fehler: kein übergeordnetes Fenster
ein ähnliches problem hab ich mit dem virtualstringtree von mike lischke.
in den projekten arbeite ich mit mdi-formularen. vieleicht gibt es gemeinsamkeiten und ein bug in der vcl? |
Re: Jedi Fehler: kein übergeordnetes Fenster
Mmh, auch das hilft nicht weiter, meins ist keine MDI-Anwendung.
Trotzdem Danke |
Re: Jedi Fehler: kein übergeordnetes Fenster
Zitat:
Du hast ja den Sourcecode zu dem fehlerhaften Control. ;-) Dann kannst du ja mal nachschauen, was im Destruktor Destroy noch so alles passiert. Im Destruktor darf dann keinerlei Zugriff mehr auf den Parent stattfinden, da der Parent ja gerade auch zerstört wird!! Man darf im Destruktor nur eigene Resourcen freigeben und muss aber damit rechnen, dass diese Resourcen unvollständig erzeugt wurden. Man darf auch nicht auf Dinge zugreifen, die vom Parent abstammen und zwischengespeichert wurde (z.B. ein Handle). Ebenfalls sollte man die Procedure Notification überprüfen (falls diese in der Komponente überschrieben wurde). |
Re: Jedi-VCL Fehler: kein übergeordnetes Fenster
Du hast wohl MaxLines > 0 gesetzt. Da habe ich gerade einen Fehler im Destruktor entdeckt. Jetzt muss ich erstmal schauen warum der Fehlerhafte Code da ist.
|
Re: Jedi-VCL Fehler: kein übergeordnetes Fenster
Der Code
Delphi-Quellcode:
muss weg. Der ist an der Stelle völlig unnötig, da das Control zu diesem Zeitpunkt nicht mehr existent ist.
if MaxLines > 0 then
Lines.Assign(FOrgLines); Bugfix ist auch im CVS. |
Re: Jedi-VCL Fehler: kein übergeordnetes Fenster
Vielen Dank jbg :-D ,
da ich mich in letzter Zeit erholt und Urlaub gemacht habe :sharkylinchen: , kann ich erst jetzt reagieren. Ich werde den Destruktor gleich anpassen. Das gleiche Problem habe ich übrigens mit der Assistenten-Komponente, ich werde mal nachsehen, ob ich auch dort den Destruktor modifizieren muss. Wie funktioniert das eigentlich mit dem CVS? :gruebel: |
Re: Jedi-VCL Fehler: kein übergeordnetes Fenster
Zitat:
Zitat:
Lesen: 1. ![]() 2. Und dann Rechtklick im Explorer und auf "CVS Auschecken" klicken 3. Bei CVSROOT ":pserver:anonymous@cvs.sourceforge.net:/cvsroot/jvcl" eintragen 4. Bei Modul "dev/JVCL3" eintragen und OK. Jetzt zieht er den gesamten JVCL3 Quellcode aus dem CVS und man kann mit rechtslick "CVS Lokal aktualisieren" / "CVS Update" auf dem aktuellen Stand bleiben und mit makemodified.bat die Änderungen übernehmen. Man braucht dabei aber auch immer eine aktuelle JCL (:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jcl - Modul: jcl) Schreiben Das dürfen nur JVCL Entwickler. Und das kann man nur durch öftere Contributions und/oder Bugfixes werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz