Einzelnen Beitrag anzeigen

DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#6

AW: Item aus einem dynamischen String-Array löschen

  Alt 26. Sep 2018, 10:09
Delete(array, 1, 1) funktioniert leider nicht, da mein Array ein property eines Records ist und der Compiler meckert, dass es ein Konstantenobjekt sei.
Delete funktioniert mit einem TArray<string> schon. Dein Problem ist hier ein anderes. Wenn du mal etwas Code zeigst, kann man auch einen passenden Vorschlag machen.
Das Array was ich bearbeiten möchte steht in einem Record einer anderen Unit. Etwa so
Delphi-Quellcode:
type
 TFilterOptions = record
 
 private
  FFilterList: TArray<string>;
 public
  property FilterList: TArray<string> read FFilterList write FilterList;

  procedure LoadFilterList; // Prozedur die die Liste aus einer Datei lädt und in FilterList schreibt

  // NEU
  procedure FilterListDeleteFromArray(const Index: Integer);
 end;

implementation

uses ...

procedure TFilterOptions.FilterListDeleteFromArray(const Index: Integer);
begin
 TArrayHelper.Delete<string>(FFilterList, Index);
end;
Aus einer anderen Unit rufe ich dann auf
TFilterOptions.FilterListDeleteFromArray(1); Ich habe gerade ein paar Tests durchgeführt und alles funktioniert. Ein netter Nebeneffekt ist, dass ich circa 100 Zeilen Code einsparen konnte (alter, schlechter Code wo ich ständig eine Ini-Datei lade).

Geändert von DieDolly (26. Sep 2018 um 10:25 Uhr)
  Mit Zitat antworten Zitat