AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Contructor des verbten Forms aufrufen

Ein Thema von Kostas · begonnen am 31. Jan 2013 · letzter Beitrag vom 31. Jan 2013
 
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Contructor des verbten Forms aufrufen

  Alt 31. Jan 2013, 17:01
Du musst nicht unbedingt einen eigenen Konstruktor erstellen.
Man kann Objekte und Daten auch über Properties und/oder Methoden übergeben.
Es gibt grundsätzlich 3 Wege über die man einem Objekt Daten mitgeben kann.
1.) Konstruktor (constructor injection)
2.) Properties (property injection)
3.) Methoden (method injection)

Normalerweise wählt man constructor injection.
Sollte das Probleme machen (und bei Delphi-Formularen macht das Probleme, weil es schon einen virtuellen Konstruktor gibt), dann kann man auch property injection oder method injection verwenden.
Delphi-Quellcode:
// Beispiel für Property Injection
TfrmMaster = class(TForm)
private
  FMyParams : TMyParams;
public
  property MyParams:TMyParams read ... write ...;
end;

TfrmAdressen = class(TfrmMaster)
  ...
end;

// und später dann das erzeugen
var
  neuForm : TForm;
  fclass : TFormClass;
begin
  fclass := TfrmAdressen;

  neuForm := fclass.Create(Application);
  TfrmMaster(neuForm).MyParams := ....;
Dieses Einspeisen der Parameter über ein Property hat den Nachteil,
dass man das Setzen des Properties auch vergessen könnte.
Beim Konstruktor wird die Übergabe des Parameter-Objekts ja quasi vom Kompiler erzwungen.
Allerdings ist die Übergabe der Daten per Property deutlich einfacher;
insbesondere muss man keine Klimmzüge mit TFormClass & Co machen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 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