Hallo liebe
DP-Gemeinde, ich habe in meiner Logik irgendwie etwas falsch und komme einfach nicht weiter.
Ich möchte eine StringList mit Strings füllen die noch nicht enthalten sind und bei neuen wird der hinten rangehangen.
Hier ist der Code (fixed!):
Delphi-Quellcode:
// global
var
SList: TStringList;
...
constructor TXXX.Create;
begin
inherited Create;
SList := TStringList.Create;
end;
destructor TXXX.Destroy;
begin
SList.Free;
inherited Destroy;
end;
function AddSList(_HWND: HWND): Boolean;
var
i: Integer;
tmp: String;
begin
Result := False;
tmp := '';
i := 0;
SetLength(tmp, 64);
SetLength(tmp, GetClassName(_HWnd, PWideChar(tmp), 64));
SList.Sort;
if (SList.Find(String(IntToStr(_HWnd)+' <> '+tmp), i) = False) then
begin
i := SList.Add(String(IntToStr(_HWnd)+' <> '+tmp));
Result := True;
end;
end;
function TXXX.Aufruf(_HWnd: HWND): String;
begin
Result := '';
if ((AddSList(_HWnd) = True) and (SList.Count > 0)) then // hier war mein Fehler, Count und HWnd waren vertauscht, Danke @ sahimba
begin
Result := SList.Strings[SList.Count-1];
Memo1.Lines.Add(Result);
end;
end;