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 Constructor -Allgemein- (https://www.delphipraxis.net/91972-constructor-allgemein.html)

Dragon27 12. Mai 2007 16:11


Constructor -Allgemein-
 
Hallo,

also eine Komponente ist ja eine Klasse... oder?

So nun müsste ja das ganze einen Constructor haben.... Meine Fragen nun:

Wie sieht ein Constructor bei einer Komponente aus?
Kann ich hier einen Array füllen lassen (Alle Werte auf Ausgangswerte)?

Danke für die Hilfe!

Jelly 12. Mai 2007 16:21

Re: Constructor -Allgemein-
 
Der Constructor sieht so aus (für jede Komponente):
Delphi-Quellcode:
constructor Create (AOwner : TComponent) ; override ;
Natürlich kannst du in der Implementierung dein Array initialisieren, aber ein Array direkt als 2. Parameter im constructor übergeben geht nicht. Zumindest nicht wenn du die Komponente aus der Toolbox auf die Form ziehst. Erstellst du die Komponenten via Code, so kannst Du natürlich constructor überladen. Aber ob das im Sinne einer komponente ist musst du selbst entscheiden.

Dragon27 12. Mai 2007 16:26

Re: Constructor -Allgemein-
 
Hallo,

danke für deine Antwort... Wie würdest du dann folgendes Problem lösen...

Eine Komponente hat einen Array [0..40] of Boolean;

Wie stelle ich jetzt das ganze auf True oder False beim Start/ oder beim ersten benutzen der Komponente?

Wo muss ich eigentlich den Constructor hinschreiben... ist der Constructor nicht einfach eine Procedure die beim start ausgeführt wird?

Danke!

cruiser 12. Mai 2007 16:38

Re: Constructor -Allgemein-
 
Da ich glaube (vielleicht ja auch nicht), dass du die Booleans aus dem Objekt-Inspektor ansprechen willst. Dafür musst du dir wohl ohnehin etwas einfallen lassen. Meines Wissens nach lassen sich Arrays nicht als published Property auslegen.

3_of_8 12. Mai 2007 16:42

Re: Constructor -Allgemein-
 
Doch, lassen sie. Nur kannst du dann IMHO, ähnlich wie bei Records, nicht auf einzelne Array-Elemente schreibend zugreifen.

Dragon27 12. Mai 2007 16:46

Re: Constructor -Allgemein-
 
Hallo,

ne ne die sollen nur im Hintergrund sein....


Wie mache ich das dann?

Danke!

cruiser 12. Mai 2007 16:53

Re: Constructor -Allgemein-
 
ja dann in den Public Bereich und im constructor mit vorgefertigten Werten besetzen evtl.

Nur eine Frage am Rande... willst du wirklich [0..40] (41 Werte) oder [0..39] bzw. [1..40] (jeweils 40 Werte) ? :zwinker:

@3_of_8: Bei mir hat jedesmal der Compiler gebockt, wenn ich versucht hab eine Array-Property published zu formulieren.

Jelly 12. Mai 2007 17:10

Re: Constructor -Allgemein-
 
Um arrays im OI anzuzeigen und zu bearbeiten, muss eine TCollection gewählt werden anstatt ein Array, so wie z.B. der Feldeditor bei TDataset.


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