Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi dynamisch erzeugte Komponente - Parent (https://www.delphipraxis.net/87137-dynamisch-erzeugte-komponente-parent.html)

maximus Caesar 23. Feb 2007 20:36


dynamisch erzeugte Komponente - Parent
 
Hallo!
Ich habe zwei Listen vom Typ TObjectList.
In diesen werden dynamisch Objekte vom Typ TGroupBox bzw. TTreeview erzeugt:
Delphi-Quellcode:
i:=Box.Add(TGroupBox.Create(MainForm));
  Tree.Add(TTreeView.Create(MainForm));
Jetzt setze ich ein paar Werte:

Delphi-Quellcode:
with TGroupBox(Box.Items[i]) do
  begin
    OnMouseDown:=MainForm.GroupBox2MouseDown;
    Parent:=MainForm.Ansicht1;
  end;
  with TTreeView(Tree.Items[i]) do
  begin
    align:=alClient;
    Parent:=TGroupBox(Box.Items[i]); //<-- HIER!!
  end;
Wende ich das ganze jetzt an erhalte ich eine "Ungültige Zeigeroperation".
(Zeile mit HIER!! markiert)
Dennoch wird das TreeView auf der Groupbox angezeigt, also richtig.
Was muss ich machen um diese Meldung weg zu bekommen?

MfG
maximus Caesar

mkinzler 23. Feb 2007 20:41

Re: dynamisch erzeugte Komponente - Parent
 
Müßte es nicht
Delphi-Quellcode:
Parent:=(Tree.Items[i] as TTreeView);
heißen?

maximus Caesar 23. Feb 2007 21:27

Re: dynamisch erzeugte Komponente - Parent
 
muss schon mit Box und TGroupBox sein, soll ja da untergeordnet werden...

Habs probiert, kommt aufs gleiche raus...

IngoD7 23. Feb 2007 23:00

Re: dynamisch erzeugte Komponente - Parent
 
Zitat:

Zitat von maximus Caesar
Wende ich das ganze jetzt an erhalte ich eine "Ungültige Zeigeroperation".
[...]
Was muss ich machen um diese Meldung weg zu bekommen?

Bei mir kommt keinerlei Hinweis/Meldung. Alles läuft fein durch. :)

maximus Caesar 24. Feb 2007 09:18

Re: dynamisch erzeugte Komponente - Parent
 
Ok, dann muss der Fehler woanders liegen und nur dadurch ausgelöst werden...
Danke!

Edit:
Habs!
die zwei Listenwaren in nem Eingenen Objekt.
Ich habe zuerst die Listen Destroyed, und dann das Objekt. Wenn ich nur das OBjekt Destroye, dann kommt die Meldung nicht mehr!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 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