Hola a todos!
Supongo que el problema debe ser que la ubicación del archivo no está disponible para los dispositivos.
¿Si usas el paso UNC funciona? Esto es "\\Servidor\Directorio\Archivo.ext".
En caso que no te funcione, tenés que tener compartido algún directorio que contenga el archivo.
La función que te devuelve el paso UNC es ExpandUNCFileName, o bien podés usar la API de Windows:
Código Delphi
[-]
function GetUNCName(const LocalPath: string): string;
var
BufferSize: DWord;
DummyBuffer: Byte;
Buffer: Pointer;
Error: DWord;
begin
BufferSize := 1;
WNetGetUniversalName(PChar(LocalPath), UNIVERSAL_NAME_INFO_LEVEL, @DummyBuffer, BufferSize);
Buffer := AllocMem(BufferSize);
try
Error := WNetGetUniversalName(PChar(LocalPath), UNIVERSAL_NAME_INFO_LEVEL, Buffer, BufferSize);
if Error <> NO_ERROR then
begin
SetLastError(Error);
RaiseLastWin32Error;
end;
Result := PUniversalNameInfo(Buffer)^.lpUniversalName
finally
FreeMem(Buffer);
end;
end;
un ejemplo de llamada es:
Código Delphi
[-]
Label1.Caption := GetUNCName('y:\xyz\');
¡Espero te sirva!