PDA

Ver la Versión Completa : FindFirst en unidad de red


jars
01-06-2011, 21:54:47
Hola amigos.
Tengo el problema que utilizo FindFirst en unidades locales y va todo bien pero cuando lo utilizo en una unidad mapeada de la Lan nunca encuentra los archivos que busco. Alguna idea de como solucionar esto.
Uso FindFirst poque luego con TSearchRec tomo el tamaño exacto del archivo que es lo que necesito.
Gracias

ecfisa
02-06-2011, 00:45:58
Hola jars.

Debes estar poniendo mal la ruta de red, FindFirst trabaja correctamente con el mapeo red si tenes los permisos para hacerlo.

Te pongo un ejemplo probado y funcionando, aunque deberás adaptar la ruta a tu caso.

...
const
RUTA='\\CARLA\Documentos c\';
var
SR: TSearchRec;
begin
Memo1.Clear;
if FindFirst(RUTA+'*.*', faArchive, SR) = 0 then
begin
repeat
Memo1.Lines.Add(SR.Name);
until FindNext(SR) <> 0;
FindClose(SR);
end;
end;

Espero que te dé alguna pauta para resolverlo.

Saludos.

jars
02-06-2011, 15:11:40
Hola ecfisa, gracias por responder.
La ruta que me llega viene asi:
E:\Tecnodir\Acd\Vox\20110415123542.002
Desde la PC que esta ejecutando el programa veo el archivo desde el explorer y lo puedo abrir, es decir es correcto el mapeo de la unidad y el path al mismo.
Tendra que ver con el formato de la ruta?
Vos pusiste:
RUTA='\\CARLA\Documentos c\';

Que notacion es, \\CARLA\Documentos es el host y c\ es el path?
No se le pone ":" c:\?
Disculpame pero no lo tengo muy claro.

Lepe
02-06-2011, 17:28:16
CARLA es el nombre del ordenador (definido en propiedades del sistema).

"Documentos c" es una carpeta compartida en dicho equipo.