![]() |
Parent - Problem
Hi,
warum funktioniert das nicht?:
Delphi-Quellcode:
Das komische ist, das keine Fehlermeldung, sondern so ein "CPU" Fenster kommt. Was bedeutet das?
var druck:TForm;
druckframe:TFrame13; begin druck:=TForm.Create(self); druck.Visible:=true; druck.Color:=clwhite; druckframe:=TFrame13.Create(druck); folgende Zele geht nicht... druckframe.Parent:=druck; druck.Width:=druckframe.Width+10; druck.Height:=druckframe.height+10; {...} |
Re: Parent - Problem
Ich sehe so keinen Fehler, das müsste funktionieren, aber interessant zu wissen wäre, in welcher Funktion das steht, was du geschrieben hast...
|
Re: Parent - Problem
Hi,
durch
Delphi-Quellcode:
wird der Owner gesetzt. Nicht Parent!
druck:=TForm.Create(self);
Weise nach create explizit den Parent zu:
Delphi-Quellcode:
Dann müßte es gehen.
druck.Parent := self;
Gruß oki edit oki: Tschuldigung, hab beim lesen nicht richtig aufgepaßt. Schau nach, ob die Typen übereinstimmen (Parent vom Typ TComponent). Ich hatte in c-DLL's auch schon versteckte Breakpoints, bei denen sich in Delphi das CPU-Fenster gemeldet hat. stört so nur beim debuggen und ist sonst umsonst. |
Re: Parent - Problem
² oki: ich glaub, Dein erster Ansatz hat schon gestimmt, "druck" kann imho nur parent sein, wenn es selbst nen parent hat.
Gruß Stephan |
Re: Parent - Problem
Ein Form benötigt nicht die explizite Angabe eines Parents!
|
Re: Parent - Problem
Hey, ich hab die Problemzeile gefunden!
Delphi-Quellcode:
Ohne diese Zeile funktioniert einwandfrei...
druck.visible:=true;
...weiss aber net warum! Weißes jemand von euch?(würd mich schon interessieren) Trotzdem danke für euer Bemühen |
Re: Parent - Problem
KA, aber wer oder was ist eigentlich Self? :stupid: (Ich meine worauf das verweist!)
|
Re: Parent - Problem
Zitat:
Auf das erstellte Objekt selbst?? |
Re: Parent - Problem
Zitat:
Delphi-Quellcode:
aufgerufen wird
var druck:TForm;
druckframe:TFrame13; begin druck:=TForm.Create(self); druck.Visible:=true; druck.Color:=clwhite; druckframe:=TFrame13.Create(druck); folgende Zele geht nicht... druckframe.Parent:=druck; druck.Width:=druckframe.Width+10; druck.Height:=druckframe.height+10; {...} |
Re: Parent - Problem
Zitat:
P.S. Ein Formular sollte in diesem Fall als Owner eigentlich immer Application haben... |
Re: Parent - Problem
Hi,
hier haben natürlich alle unterstellt, dass die Code-Schnipsel Bestandteil einer Procedure oder Function eines Objectes sind. Innerhalb einer Object-Methode repräsentiert self die eigene Object-Instance. Sicher werden Formulare üblicherweise für den Owner mit Application belegt. Jeder andere Owner ist aber auch möglich, solange die Typen passen. Manchmal ist es auch hilfreich einem Formular einen speziellen Owner zu verpassen. So kann mann z.B. direkte Zugehörigkeiten von Fenstern zu speziellen Objekten manifestieren. Ich benutze manchmal NVCL-Objekte in denen ich Formulare als Einstellungsfenster creiere. Hier weise ich immer das NVCL-Objekt als Besitzer zu. Bis dato war das so auch o.k.. Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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