Hallo mal wieder. Irgendwie habe ich ein kleines Problem mit FindData... Kann mir irgendjemand hier sagen, was ich falsch mache?
Delphi-Quellcode:
function TBenutzerverwaltung.Fuege_Benutzer_Zur_Liste_Hinzu( Neuer_Benutzer : String; Benutzerlistview : Tlistview) : String;
var
Listitem : Tlistitem;
newBenutzerverwaltung: TBenutzerverwaltung;
Index : Integer; // Für das Setzen des Itemindex
begin
newBenutzerverwaltung := TBenutzerverwaltung.Create; // Neues Klassenobjekt erstellen
newBenutzerverwaltung.FBenutzername := copy(Neuer_Benutzer,5,length(Neuer_Benutzer)); // Benutzernamen in die Variable kopieren
newBenutzerverwaltung.FBenutzerNummer := StrToInt(copy(Neuer_Benutzer,1,4)); // UIN kopieren
newBenutzerverwaltung.FBenutzerFenster_Offen := 0; // Benutzerfenster ist am Anfang stets geschlossen
newBenutzerverwaltung.FBenutzerInfoFenster_Offen := 0; // Benutzerinfofenster ebenfalls
// Prüfen, ob der Eintrag bereits in der Listview existiert
Listitem := Benutzerlistview.FindData(0,TBenutzerverwaltung(newBenutzerverwaltung.FBenutzerNummer),True,True);
if Listitem <> nil then // Eintrag noch nicht vorhanden
begin
exit;
end
else
begin // Eintrag bereits vorhanden
Index := Benutzerlistview.Items.Count; // Itemindex zuweisen
Listitem := Benutzerlistview.Items.Add;
Listitem.Caption := newBenutzerverwaltung.FBenutzername; // Listitemcaption zuweisen
Benutzerlistview.Items.Item[Index].Data := newBenutzerverwaltung; // Den Datenzeiger setzen
ShowMessage('Benutzer existierte noch nicht in der Liste');
end;
end;
Es lassen sich im moment unendlich viele Benutzer zur Liste hinzufügen... Verstehe irgendwie nicht ganz wieso. Hoffe mir kann jemand erklären wieso.
Danke im voraus mal wieder
Matthias