AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Setlength aufrufen von untergeordneter prozedur auf owner Klasse.
Thema durchsuchen
Ansicht
Themen-Optionen

Setlength aufrufen von untergeordneter prozedur auf owner Klasse.

Ein Thema von gemy · begonnen am 3. Mär 2020 · letzter Beitrag vom 4. Mär 2020
 
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.312 Beiträge
 
Delphi 12 Athens
 
#7

AW: Setlength aufrufen von untergeordneter prozedur auf owner Klasse.

  Alt 4. Mär 2020, 08:25
@gemy:

Wenn ich es richtig verstanden habe, möchtest du immer, wenn ein Wert in TOrder "geändert" wird, diesen geänderten Wert in fMedArray "zufügen". Richtig?

TOrder ist für sich gekapselt und hat keinen Zugriff nach aussen auf TPattern.

Du könntest TOrder mitteilen, wer TPattern ist. Dazu erstellst du das "Property parent".

Du darfst aber nicht vergessen Parent anzugeben, wenn du ein Element zu OrderItems zufügst.


Delphi-Quellcode:
type
  Tpattern = class(Tobject)
  private
    fMedArr: array of currency;
  private
    type
    Torder = record
      fMissed_points: currency;
      procedure SetMissedPoints(val: currency);
    private
      FParent: Tpattern;
    public
      property Missed_points: currency Read fMissed_points Write SetMissedPoints;
      Property Parent: Tpattern read FParent write FParent;
    end;
  public
    OrderItems: array of Torder;
    procedure MedArr(const Value: currency);
  end;

procedure Tpattern.MedArr(const Value: currency);
begin
  fMedArr := fMedArr + [Value];
end;

procedure Tpattern.Torder.SetMissedPoints(val: currency);
begin
  fMissed_points := val;
  if assigned(FParent) then
    FParent.MedArr(val);
end;
Wobei ich jetzt nicht sagen will, dass dies besonders Toller Code ist. Und nichts ist getestet.

Insgesamt würde ich auch deine Namensgebung anpassen.

Die Procedure MedArr für einen Wert zu deinem Array hinzu. Besser wärde der Name Procedure AddToMedArr eine Procedure sollte beschreiben, was sie macht.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  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 11:38 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