Einzelnen Beitrag anzeigen

FAM

Registriert seit: 22. Dez 2014
47 Beiträge
 
Delphi XE Enterprise
 
#6

AW: Record Properties

  Alt 18. Feb 2015, 14:38
danke für den hinweis

mache es jetzt ansatzweise so...

Delphi-Quellcode:

  TViewModel = class(TModel)

  private type

    TRedundancyLivedataResult = class
    private
      FConsoleHandler: TConsoleHandler;
      FAppTime: String;
      FOpcTime: string;
      procedure SetRedundanyLivedataAppTime(const Value: String);
      procedure SetRedundanyLivedataOpcTime(const Value: String);
    public
      property AppTime: String read FAppTime write SetRedundanyLivedataAppTime;
      property OpcTime: string read FOpcTime write SetRedundanyLivedataOpcTime;
    end;

  private

    FRedundancyLivedata: TRedundancyLivedataResult;

  // constructor TViewModel.Create;
constructor TViewModel.Create(const EventHandler: TEventHandler;
  const ConsoleHandler: TConsoleHandler);
begin
  inherited Create;

// hier könnte ich jetzt die Membervars mitübegeber? z.b. TRedundancyLivedataResult.Create(EventHandler)

  FRedundancyLivedata := TRedundancyLivedataResult.Create;

// die könnte ich dann hier verwenden, richtig?

procedure TViewModel.TRedundancyLivedataResult.SetRedundancyLivedataAppTime
  (const Value: String);
So funktioniert es:

Delphi-Quellcode:
 



  TViewModel = class(TModel)

    FRedundancyLivedata: TRedundancyLivedataResult; // (see @TRedundancyLivedataResult = class)
...
    property RedundanyLivedata: TRedundancyLivedataResult
      read FRedundancyLivedata write FRedundancyLivedata;
...

implementation

  // constructor TViewModel.Create;
constructor TViewModel.Create(const EventHandler: TEventHandler;
  const ConsoleHandler: TConsoleHandler);
begin
...

FRedundancyLivedata := TRedundancyLivedataResult.Create(self);

...
end;

{ TViewModel.TRedundancyLivedataResultTest }

constructor TViewModel.TRedundancyLivedataResult.Create
  (const parent: TViewModel);
begin
  FParentModel := parent;
end;

procedure TViewModel.TRedundancyLivedataResult.SetRedundancyLivedataAppTime
  (const Value: String);
begin
FParentModel.FooBar := 1; // Membervarriable aus der Hauptklasse
end;

Geändert von FAM (18. Feb 2015 um 15:30 Uhr)
  Mit Zitat antworten Zitat