Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#1

TStringList bleibt leer nach Find, nur warum? *gelöst*

  Alt 30. Jun 2018, 23:51
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;
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 1. Jul 2018 um 03:15 Uhr)
  Mit Zitat antworten Zitat