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).