AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Jedi-VCL Fehler: kein übergeordnetes Fenster

Ein Thema von meierotto · begonnen am 10. Aug 2005 · letzter Beitrag vom 30. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
meierotto

Registriert seit: 20. Mai 2005
Ort: Cottbus
73 Beiträge
 
Delphi 2005 Professional
 
#1

Jedi-VCL Fehler: kein übergeordnetes Fenster

  Alt 10. Aug 2005, 13:42
Ich habe folgendes Problem :

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?

[edit=sakura] Jedi->Jedi-VCL; zur Verdeutlichung angepasst. Mfg, sakura[/edit]
Lass nie die Lösung eines Problems wichtiger werden als die Liebe zu einem Menschen. (Barbara Johnson)
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Jedi Fehler: kein übergeordnetes Fenster

  Alt 10. Aug 2005, 13:53
Zitat von meierotto:
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.
Du musst beim Erzeugen folgendes beachten:
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;
Andreas
  Mit Zitat antworten Zitat
meierotto

Registriert seit: 20. Mai 2005
Ort: Cottbus
73 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Jedi Fehler: kein übergeordnetes Fenster

  Alt 10. Aug 2005, 14:36
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 mem.Parent:=FrmLnwBearbeiten; kommt immer noch der gleiche Fehler.

Übrigens passiert das nicht bei allen Jedi-Komponenten, JvSpinEdit funktioniert zum Beispiel
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Jedi Fehler: kein übergeordnetes Fenster

  Alt 10. Aug 2005, 14:45
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?
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
meierotto

Registriert seit: 20. Mai 2005
Ort: Cottbus
73 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Jedi Fehler: kein übergeordnetes Fenster

  Alt 10. Aug 2005, 15:09
Mmh, auch das hilft nicht weiter, meins ist keine MDI-Anwendung.

Trotzdem Danke
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Jedi Fehler: kein übergeordnetes Fenster

  Alt 10. Aug 2005, 15:35
Zitat von meierotto:
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.
Ich dachte du würdest das Control zur Laufzeit erzeugen. (Miss Verständnis)
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).
Andreas
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

Re: Jedi-VCL Fehler: kein übergeordnetes Fenster

  Alt 10. Aug 2005, 17:52
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.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: Jedi-VCL Fehler: kein übergeordnetes Fenster

  Alt 10. Aug 2005, 17:56
Der Code
Delphi-Quellcode:
if MaxLines > 0 then
  Lines.Assign(FOrgLines);
muss weg. Der ist an der Stelle völlig unnötig, da das Control zu diesem Zeitpunkt nicht mehr existent ist.
Bugfix ist auch im CVS.
  Mit Zitat antworten Zitat
meierotto

Registriert seit: 20. Mai 2005
Ort: Cottbus
73 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Jedi-VCL Fehler: kein übergeordnetes Fenster

  Alt 30. Aug 2005, 09:15
Vielen Dank jbg ,

da ich mich in letzter Zeit erholt und Urlaub gemacht habe , 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?
Lass nie die Lösung eines Problems wichtiger werden als die Liebe zu einem Menschen. (Barbara Johnson)
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

Re: Jedi-VCL Fehler: kein übergeordnetes Fenster

  Alt 30. Aug 2005, 10:44
Zitat von meierotto:
Das gleiche Problem habe ich übrigens mit der Assistenten-Komponente, ich werde mal nachsehen, ob ich auch dort den Destruktor modifizieren muss.
Mich würde mehr interessieren, welche Eigenschaften du umgestellt hast, so dass der Fehler auftritt. Denn bei mir (und dem JVCL Installer) funktioniert der JvWizard ohne Probleme.

Zitat:
Wie funktioniert das eigentlich mit dem CVS?
Lesen oder Schreiben?

Lesen:
1. TortoiseCVS installieren
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz