ich hab es vorher so gemacht
Delphi-Quellcode:
procedure TClientForm.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
....
....
....
integer(p) := Socket.Handle;
Li.Data := p;
LI.ImageIndex := 0;
LI.Caption := SocketData.User;
li.SubItems.add(SocketData.Color);
Li.SubItems.add(SocketData.Font);
....
....
....
end;
procedure TClientForm.DisconnectSocket(SocketData: TSocketData);
var
Li : TListItem;
P : Pointer;
begin
integer(P) :=Socket.Handle;
Li:=listview1.finddata(2,p ,true,false);
if Li<>nil then
begin
Li.Delete;
end;
if SocketData = nil then exit;
end;
und so hat es funktioniert es geht einfach nicht mehr wenn ich LI.data := (P) durch LI.Data := TSocketData ersetze.
Kann man mit Finddata
Li:=listview1.finddata(2,p ,true,false);
überhaupt Werte einer übergebenen Klasse finden?