Einzelnen Beitrag anzeigen

jokeBB

Registriert seit: 7. Okt 2009
Ort: Böblingen
10 Beiträge
 
Delphi 2010 Professional
 
#1

Objekt-Eigenschaft mit anderem Objekt verbinden, evtl Zeiger

  Alt 17. Apr 2010, 20:59
Hallo,
wage mich bei einem neuen Programm jetzt erstmalig an OOP. Hat soweit zwar schon gut geklappt, aber jetzt stehe ich grade auf dem Schlauch....

Im Programm gibt es ein komplexes Berechnungsformular. Da ich die Daten an verschiedenen Stellen brauche, habe ich die Speicherung in ein zentrales Datenobjekt ausgelagert (separate Unit), sagen wir mal myData := TCalcData.Create mit (stark vereinfacht)

Delphi-Quellcode:
type TCalcData= class(TObject)
  private
    F_X: Double;
    function getValue: Double;
    procedure setValue(dd: Double);
  public
    property X: Double read getValue write setValue;
end;
Weil ich da recht viele spezielle Eingabefelder mit Text drumrum und bestimmtem Verhalten usw. brauche, habe ich mir auch ein Objekt InputBox, das im Kern ein Editfeld dynamisch generiert, geschrieben, auch ausgelagert in eine andere Unit. Mit wenig Zeilen kann ich mir jetzt viele Eingabefelder erzeugen, also in etwa

Delphi-Quellcode:
inpX := TInputBlock.Create;
inpX.Value := 10;
inpX.ShowBox(...);
Das Box-Objekt schreibt Eingaben auch brav in sein internes Feld. Soweit so gut.

Jetzt meine (Anfänger)frage: wie kann ich erreichen, dass dieses Eingabe-Objekt inpX gleich in myData.X schreibt, natürlich nicht hart, sondern das inpY dann in myData.Y usw. Ich könnte zwar das ganze Objekt myData übergeben, aber dann weiß ich ja noch nicht die richtige Eigenschaft X. Und ich will natürlich nicht nur einmalig den Double-WErt übergeben, sondern jede weitere Änderung soll im myData.X landen. Kann ich dem inpX irgendwie einen Zeiger auf myData.X mitgeben oder so ähnlich? Wie müsste man das definieren, mit Zeigern mache ich sonst gar nichts...

Wäre für Tipps dankbar...
Gruß, jokebb
  Mit Zitat antworten Zitat