AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TcxGrid - ERR: hat kein übergeordnetes Fenster
Thema durchsuchen
Ansicht
Themen-Optionen

TcxGrid - ERR: hat kein übergeordnetes Fenster

Ein Thema von Hausmarke · begonnen am 17. Mai 2013 · letzter Beitrag vom 29. Mai 2013
Antwort Antwort
Seite 1 von 2  1 2      
Hausmarke

Registriert seit: 5. Apr 2013
Ort: Sachsen
47 Beiträge
 
Delphi 2007 Professional
 
#1

TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 17. Mai 2013, 16:00
Hallo Jungs,

folgender sachverhalt.
ich habe ein MDI fenster und generiere im OnCreate dessen ein Datenmodul:

Application.CreateForm(TData, Data);


Über das Menü im MDI fenster generiere ich ein zweites Fenster

Application.CreateForm(TMain, Main);

soweit so gut.
im Main formular habe ich ein cxGrid was auf das OnEditDblClick Event das Grid enabled:=false setzt.
im Zuge dessen kommt dann der fehler:
Element hat kein übergeordnetes Fenster

Der Debugger stoppt in der Unit Forms bei der function ValidParentForm.
Das kuriose, manchmal funktioniert es, und manchmal nicht... und ich hab keinen blassen schimmer wo ich ansetzen soll/kann.

Ich hoffe ganz stark das mir jemand von euch nen heißen tipp geben kann.

besten dank im voraus

Geändert von Hausmarke (17. Mai 2013 um 16:14 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 18. Mai 2013, 10:21
Was möchtest Du denn bezwecken? Welches OnEditDblClick meinst Du?
  Mit Zitat antworten Zitat
Hausmarke

Registriert seit: 5. Apr 2013
Ort: Sachsen
47 Beiträge
 
Delphi 2007 Professional
 
#3

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 08:32
über das grid wird eine Datenmenge aus einer Datenbank gehändelt.
Ich möchte bei einem doppelklick den aktuellen datensatz bearbeiten und gleichzeitig das grid sperren bzw. auf readonly o.ä. setzen, damit nicht versehendlich ein anderer Datensatz und damit eine andere zu bearbeitende ID gewählt wird. Dies würde ansonsten zu einem Fehler beim speichern führen.

das OnEditDblClick ist ein Event des cxGridMasterView der cxGrid komponente.

ich habe cxGrid.Enabled:=false ausgeklammert und der fehler kommt immer noch.
die fragezeichen werden immer mehr

einzige idee wäre: könnte es evtl. damit zu tun haben wie ich die child formulare erzeuge?
aktuell geschieht dies via
application.create(Tform1, form1);
application.run;
...

allerdings werden die formulare erzeugt und funktionieren auch...bis zu diesem doppelklick.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 08:40
Ich glaube nicht dass es an den Formularen liegt, eher irgendein Element auf dem Formular, wie z.B. das Editfeld der Grid o.ä. (ich kenn die Grid nicht). Also irgendeine Komponente hat keinen Parent und weiß somit nicht zu welchem Formular sie gehört.
  Mit Zitat antworten Zitat
Hausmarke

Registriert seit: 5. Apr 2013
Ort: Sachsen
47 Beiträge
 
Delphi 2007 Professional
 
#5

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 10:29
aber dürfte eine fehlende Parent-Eigenschaft nicht schon bei dem erzeugen der form und der diversen komponenten zu einem fehler führen?
das programm läuft soweit durch bis zu diesem doppelklick, danach werden ein paar edits, comboboxen und buttons aktiviert bzw. deaktiviert.

ich konnte es weiter eingrenzen:
wenn ich den Fokus auf eine Combobox setze, kommt der fehler,
genauso kommt der fehler auch, wenn ich versuche das grid auf enabled:=false zu setzen.

das HasParent der Combobox gibt true zurück. Wie kann ich mir die bezeichnung des Parent ausgeben lassen?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 10:31
Parent.Name sollte doch gehen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 10:34
Combobox.Parent.Name
  Mit Zitat antworten Zitat
Hausmarke

Registriert seit: 5. Apr 2013
Ort: Sachsen
47 Beiträge
 
Delphi 2007 Professional
 
#8

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 10:45
die parents scheinen okay zu sein.
die combobox liegt in einem panel, was korrekt ausgeben wird, und das grid liegt auf dem MainFrm, was ebenfalls korrekt über .parent.name ausgegeben wird.

Kann dies in irgendeinem zusammenhang damit stehen, das es eine MDI Anwendung wird?

ich verstehe eben nicht warum das problem erst auftritt, wenn ich den fokus auf ein element setze.
dabei ist es egal auf welches element ich den focus setze, der fehler kommt immer.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 11:15
Vielleicht hilft das ja weiter:

Application.CreateForm(TData, Data) wird so nur im Projekt-Quelltext vor Application.Run benutzt.
Wenn man zur Laufzeit ein Formular erstellt, benutzt man Data := TData.Create(Application).
  Mit Zitat antworten Zitat
Hausmarke

Registriert seit: 5. Apr 2013
Ort: Sachsen
47 Beiträge
 
Delphi 2007 Professional
 
#10

AW: TcxGrid - ERR: hat kein übergeordnetes Fenster

  Alt 21. Mai 2013, 11:55
des rätsels lösung:
das problem war, das ich das OnEditDblClick Event benutzt habe, was das Grid in den Editmodus setzt. Jedoch ist das anschließende wechseln des Fokus auf ein anderes element bzw. das Enabled:=false setzen des grids sozusagen die gegenaktion. Wodurch dieser fehler entstand.

lösung:
das richtige event für meinen zweck nutzen:
OnDblClick


ich danke allen die sich mit mir zusammen den kopf zerbrochen haben.
Vielen Dank


danke noch für den tipp bezüglich der Formular erzeugung.

Geändert von Hausmarke (21. Mai 2013 um 12:24 Uhr)
  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 14:57 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