![]() |
Problem mit Zuweisung
Hallo, ich schon wieder, mit einem neuen Problemchen...
Delphi-Quellcode:
So nun eine ganz kurze Erläuterung:
TErstens = class(TComponent)
Wert1: String; Wert2: String; constructor Create(AOwner: TComponent); end; TZweitens = class(TLabel) Startwert: String; constructor Create(AOwner: TComponent); end; constructor TErstens.Create; begin inherited Create; Wert1:=Startwert; //Hier liegt mein Problem, da der Startwert aus Zweitens stammt end; constructor TZweitens.Create; var AErstens:TErstens; begin inherited Create; AErstens:=TErstens.Create; end; Im Constructor von Zweitens werden mehrere Instanzen von Erstens erzeugt (im Beispiel nur eine), die ich mit Startwerten vorbelegen möchte. Diese Startwerte möchte ich im Constructor von Erstens gleich mit zuweisen und zwar mit Werten, die aus Erstens stammen und das ist der Haken, weil das so nicht geht. Natürlich könnte ich nachdem ich die Instanz von Erstens erzeugt habe, den Wert einfach mit
Delphi-Quellcode:
zuweisen, aber da in anderen Prozeduren von Zweitens weitere Instanzen von Erstens erzeugt und entfernt werden, wäre es schön, diese Arbeit nur einmal machen zu müssen, nämlich im Constructor von Erstens selbst. Wie kriege ich das hin?
...
AErstens.Wert1:=Startwert; Dank und Gruß, Guido |
Re: Problem mit Zuweisung
Moin Guido,
dann übergebe den Startwert doch als Parameter des Konstruktors. |
Re: Problem mit Zuweisung
Wäre natürlich möglich. Im Beispiel habe ich nur zwei Werte, in der Realität (in meiner Anwendung) sind es natürlich mehr, dann wird das Ganze schnell unleidlich.
|
Re: Problem mit Zuweisung
Moin Guido,
zum einen sind die Parameter ja dafür gedacht, zum anderen kannst Du sie ggf. ja auch in einem Record, bzw. einer eigenen Klasse wieder zu einem zusammenfassen. |
Re: Problem mit Zuweisung
und wenn es gaaaanz viel wird kannst du auch eine Callback-Methode als Parameter übergeben in der dann die Dinge zugewiesen werden. Und wenn es etwas ist was du nochmal später im Programm machen willst kannst du das ganze auch in eine eigene Methode auslagern.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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