Ya e sacado el fallo, asi quedo el codigo
Código Delphi
[-]if Copy(Date, 1, 14) = 'LISTARARCHIVOS' then
begin
Delete(Date, 1, 15); Newl := ListView1.FindCaption(0,Inttostr(Socket.SocketHandle),False,True,False); if Newl <> nil then
begin
Form2.ListViewArchivos.Items.BeginUpdate;
(Newl.SubItems.Objects[0] as TForm2).ListViewArchivos.Clear; if Length((Newl.SubItems.Objects[0] as TForm2).Edit1.Text) > 3 then
begin
Newl.ImageIndex := 0;
(Newl.SubItems.Objects[0] as TForm2).ListViewArchivos.Items.Add.Caption := '<..>';
end;
while Pos('|', Date) > 1 do
begin
TempStr := Copy(Date, 1, (Pos('|', Date) - 1));
Delete(Date, 1, Pos('|', Date)); if TempStr[1] = #2 then begin
Newl := ListView1.FindCaption(0,Inttostr(Socket.SocketHandle),False,True,False); if Newl <> nil then
Delete(TempStr, 1, 1); Newl := (Newl.SubItems.Objects[0] as TForm2).ListViewArchivos.Items.Add;
Newl.ImageIndex := 1; Newl.Caption := TempStr;
Newl.SubItems.Add('');
Newl.SubItems.Add('Carpeta de archivos');
Newl.SubItems.Add('');
end
else begin
Newl := ListView1.FindCaption(0,Inttostr(Socket.SocketHandle),False,True,False); if Newl <> nil then
Newl := (Newl.SubItems.Objects[0] as TForm2).ListViewArchivos.Items.Add;
Newl.ImageIndex := 2;
Newl.Caption := TempStr;
TempStr := (Copy(Date, 1, (Pos('|', Date) - 1)));
Delete(Date, 1, Pos('|', Date)); Newl.SubItems.Add(TempStr + 'Kb'); TempStr := (Copy(Date, 1, (Pos('|', Date) - 1)));
Delete(Date, 1, Pos('|', Date)); Newl.SubItems.Add(TempStr); TempStr := (Copy(Date, 1, (Pos('|', Date) - 1)));
Delete(Date, 1, Pos('|', Date)); Newl.SubItems.Add(TempStr); end;
end;
end;
end;
lo dejo por si a alguien le puede sevir como ejemplo. Ya podeis cerrar el post si quereis. Gracias.