Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit Zuweisung (https://www.delphipraxis.net/92214-problem-mit-zuweisung.html)

guidobrose 16. Mai 2007 09:43


Problem mit Zuweisung
 
Hallo, ich schon wieder, mit einem neuen Problemchen...

Delphi-Quellcode:
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;
So nun eine ganz kurze Erläuterung:

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:
  ...
  AErstens.Wert1:=Startwert;
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?

Dank und Gruß,

Guido

Christian Seehase 16. Mai 2007 09:46

Re: Problem mit Zuweisung
 
Moin Guido,

dann übergebe den Startwert doch als Parameter des Konstruktors.

guidobrose 16. Mai 2007 09:58

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.

Christian Seehase 16. Mai 2007 10:16

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.

SirThornberry 16. Mai 2007 10:20

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