Hallo Leute
Ich habe hier eine 'blöde' StringListe in der ich Objekte zwischenspeichere.
Diese Übergebe ich dann an eine andere mittels Assign:
Delphi-Quellcode:
...
procedure TCustomFilterListView.SetFilterList(Value : TStringList);
var
I : Integer;
begin
FFilterList.Assign(Value);
for I := 0 to FFilterList.Count - 1 do
with Groups.Add do
Header := TSelectedFilter(FFilterList.Objects[I]).Kategorie; // Läuft Fehlerfrei durch
end;
...
procedure TCustomFilterListView.FilterScan(Value : TFileScanRec);
var
I : Integer;
E : String;
N : String;
F : String;
S : Cardinal;
begin
E := ExtractFileExt(StrPas(Value.lpFileName));
I := FFilterList.IndexOf(E);
if ((I <> -1) and FFilterList.OwnsObjects) then
begin
N := FFilterList.Strings[I];
F := TSelectedFilter(FFilterList.Objects[I]).FilterName; // <-- Hier der Fehler, keine Objekte vorhanden
S := (Value.lpFindFileData.nFileSizeHigh * (Int64(MAXDWORD) + 1)) + Value.lpFindFileData.nFileSizeLow;
FFoundFiles.AddObject(N, TFoundFile.Create(I, Value.lpFileName, S, F));
end;
if Assigned(FOnFilterScan) then FOnFilterScan(Self, StrPas(Value.lpFileName));
end;
...
Frage: Wie kann ich überprüfen ob die Objekte vorhanden sind?