gracias neftali el problema es el mismo que menciona, extraer saca el objeto inmediatamente y mueve los otros
Código Delphi
[-]
for i:=0 to lista.Count-1 do begin
tempEmpleado := (lista.Extract(lista[1]) as TEmpleado);
showMessage(inttostr(lista.Count)); end;
for i:=0 to lista.Count-1 do begin
tempEmp:=((lista[i]) as TEmpleado);
end;
disculpa no analice el procedimiento algo tan simple, esque estoy acostumbrado a ver la descripcion de los procedimientos y funciones en el autocompletar del ide y como lazarus no lo tiene no tengo como verlas ;P