Delphi-PRAXiS
Seite 2 von 3     12 3      

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 Laufzeitfehler mit eigenem Typ (https://www.delphipraxis.net/133660-laufzeitfehler-mit-eigenem-typ.html)

DeddyH 6. Mai 2009 17:52

Re: Laufzeitfehler mit eigenem Typ
 
Du könntest einen Owner als Parameter im Konstruktor angeben lassen. Dann könntest Du in demselben auch
Delphi-Quellcode:
inherited Create(Owner);
aufrufen.

[edit] Einen Parent könntest Du dann natürlich auch gleich mit angeben. [/edit]

jaenicke 6. Mai 2009 17:56

Re: Laufzeitfehler mit eigenem Typ
 
Zitat:

Zitat von 64Jabor
Muss ich die Parent-Eigenschaft der Labels etwa zwingend auf mein Formular setzen?

Parent ist das Objekt, auf dem die Komponente angezeigt wird. Wenn du das also nicht richtig setzt, dann kann das auch nicht klappen.

Es wurde ja bereits gesagt, dass es vielleicht sinnvoller wäre z.B. von TWinControl abzuleiten und eine richtige Komponente daraus zu machen. Dann könntest du dir die Label auch gleich sparen und könntest den Text selbst ausgeben...

64Jabor 6. Mai 2009 17:59

Re: Laufzeitfehler mit eigenem Typ
 
Ja ich habe meine Klasse ja von TWinControl abgeleitet!
Dann übergeben ich also nun den Owner und den Parent dem Konstruktor, mal sehen was draus wird :D

jaenicke 6. Mai 2009 18:02

Re: Laufzeitfehler mit eigenem Typ
 
Zitat:

Zitat von 64Jabor
Ja ich habe meine Klasse ja von TWinControl abgeleitet!

:oops: Oops, das habe ich übersehen. Den Owner übergeben reicht aber. Parent auf das WinControl, also Self, setzen ist dann richtig. Dann darf das nicht auf das Formular gesetzt werden.

Kann es sein, dass du die Größe des WinControls oder dessen Parent nirgends setzt?

64Jabor 6. Mai 2009 18:09

Re: Laufzeitfehler mit eigenem Typ
 
Also ich setze die Größe, also Width und Height, meiner Klasse im Konstruktor, das habe ich erst nach meinem Post eingefügt, vorher vergessen!
Die der Label setze ich nicht, in der Hoffnung auf AutoSize :D

Der Owner der Label, also meine Klasse, übergebe ich deren Konstruktoren.
Der Owner meiner Klasse ist das Formular.

Dennoch ist kein Label sichtbar =/

jaenicke 6. Mai 2009 18:11

Re: Laufzeitfehler mit eigenem Typ
 
Und du setzt Parent deines WinControls auf das Formular und das der Labels auf dein WinControl?

64Jabor 6. Mai 2009 18:15

Re: Laufzeitfehler mit eigenem Typ
 
Ja das tue ich, wobei ja Owner und Parent in meinem Fall immer dasselbe Objekt sind, oder nicht?

DeddyH 6. Mai 2009 18:16

Re: Laufzeitfehler mit eigenem Typ
 
Owner und Parent wovon? Der Komponente oder der Labels?

64Jabor 6. Mai 2009 18:18

Re: Laufzeitfehler mit eigenem Typ
 
Naja in beiden Fällen.
Den Owner der Label (meine Klasseninstanz) habe ich ja auch dem Konstruktor der Label übergeben und setze danach deren parent wiederum auf meine Klasseninstanz.
Bei der Klasseninstanz selber verwende ich erst das

Delphi-Quellcode:
inherited Create(Owner);
und setze dann auch wieder den parent auf das Formular...

DeddyH 6. Mai 2009 18:19

Re: Laufzeitfehler mit eigenem Typ
 
Das klingt zumindest richtig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr.
Seite 2 von 3     12 3      

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