Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Record, Array, Class und Schreiben in das Array

  Alt 10. Jul 2024, 09:00
Im einfachsten Fall schreibst du statt record einfach Klasse und du bist was den Zugriff inkl. Schreiben angeht fertig.
Die einzige andere Änderung ist, dass du die Instanzen dann explizit mit Create erstellen musst, sprich FItems[0] := TProgReleaseItem.Create; , aber ich frage mich, ob du das überhaupt so möchtest. Mit dem Array ist das unnötig kompliziert.

Viel einfacher:
Delphi-Quellcode:
uses
  System.Generics.Collections;

type
  TProgReleaseItem = class
  public
    ProductID: Integer;
    MachineTypeName: String;
    ProgfieldName: String;
    constructor Create(AProductID: Integer; AMachineTypeName: String; AProgfieldName: String);
  end;

  TProgRelease = class(TObjectList<TProgReleaseItem>)
  end;

constructor TProgReleaseItem.Create(AProductID: Integer; AMachineTypeName: String; AProgfieldName: String);
begin
  ProductID := AProductID;
  MachineTypeName := AMachineTypeName;
  ProgfieldName := AProgfieldName;
end;

var
  Test: TProgRelease;
begin
  Test := TProgRelease.Create(True);
  try
    Test.Add(TProgReleaseItem.Create(1, '2', '3'));
    DoSomething(Test);
  finally
    Test.Free;
  end;
end;
Natürlich wären ggf. propertys statt einfacher Felder sinnvoller, aber funktionieren tut es so.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (10. Jul 2024 um 09:02 Uhr)
  Mit Zitat antworten Zitat