Ver Mensaje Individual
  #1  
Antiguo 19-06-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Reputación: 19
MaMu Va por buen camino
Comportamiento extraño en StringList

Resulta que yo escaneo constantemente un directorio, para saber si hay algun subdirectorio nuevo, y si lo hay o no lo hay, lo cargo en un StringList (este lo creo al crearse la form y lo libero al cerrar la misma, sin problemas)
Utilizo la siguiente function:

Código Delphi [-]
function NumeroSubDirectorios(directorio: string;
   ocultos, sistema, soloLectura: boolean) : integer;
 var
   SR: TSearchRec;
   atributos: Cardinal;
 begin
   Lista.Clear;
   Result := 0;
   atributos := faDirectory;
   if ocultos then atributos := atributos or faHidden;
   if sistema then atributos := atributos or faSysFile;
   //if soloLectura then atributos := atributos or faReadOnly;
   directorio := IncludeTrailingPathDelimiter(directorio);
   if FindFirst(directorio +'*', atributos, SR) = 0 then
   begin
     repeat
       if (SR.Name <> '.') and (SR.Name <> '..')
         and DirectoryExists(directorio + SR.Name)
         then begin
              Lista.Add(SR.Name);
              Inc(Result);
         end;
     until FindNext(SR) <> 0;
     SysUtils.FindClose(SR);
   end;
 end;

Pero si bien, puedo mostrar el resultado de la funcion conrrectamente, ya que cuenta bien, no me pasa lo mismo con la Lista (TStringList), ya que no siempre me muestra el ultimo directorio que cuenta en:

Código Delphi [-]
Label1.Caption:=Lista.Strings[Lista.Count-1];

En ciertos casos me añade como ultimo elemento al anterior, es decir lo repite, y a veces no. Esto lo pruebo copiando directorios al directorio que estoy escanenando. Porque pasa esto????

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita