Hello Iv�n,
Monday, September 7, 2009, 10:03:41 AM, you wrote:
IM> Bueno, mi desesperaci�n y mi estado mental se intuir leyendo IM> el post, pero voy a explicarme mejor.
IM> Lo que me ocurre es muy sencillo. He realizado un peque�o IM> programa con una base de datos SQLite.
IM> La base de datos la quiero cargar en una PDA, usando el IM> Async, en el que tengo una carpeta compartida. IM> Pues mi problema es usando la funci�n CopyFile no se copia la IM> BBDD. He verificado que est� cerrada, y que he puesto bien las IM> rutas de origen y destino, pero nada. No me ha quedado m�s opci�n IM> que realizar un bat que ejecute un copy del dos para poder hacer IM> dicha operaci�n.
IM> Pero, por si esto fuera poco, en la PDA me he encontrado el IM> mismo problema: Una vez tengo la BBDD en la carpeta My Documents, IM> quiero pasarla al directorio de datos de programas, para poder IM> abrirla y trabajar desde la PDA. Pero aqu�, adem�s de no funcionar IM> el CopyFile, me he encontrado que tambi�n me da un error el IM> TProcess a ejecutar un bat con el correspondiente copy del s.o. IM> Lo m�s cachondo es que el bat funciona, pues si lo ejecuto IM> desde la opci�n ejecutar del WinCe, la copia se realiza. Tambi�n IM> si ejecuto desde la consola. Pero desde L�zarus me da el error 87. IM> Tras un mont�n de pruebas, ya no se me ocurre qu� puede estar pasando. IM> En fin, espero que ahora est� el planteamiento m�s claro, y alguien pueda ayudarme. IM> Gracias.
He visto por distintas p�ginas muchos problemas de WinCE y la funci�n FileCopy, incluido el mismo problema que tienes tu, s�lo que en vez de L�zarus con VB. Si el �nico problema es copiar un archivo hazlo a "pedal" sin usar el FileCopy (ojo, no se si se puede, ya que no uso WinCE ni tengo para probar ni nada). Una copia "a pedal" con L�zarus ser�a algo como:
var
FIn,FOut: TFileStream;
begin
FIn:=TFileStream.Create('X:\Origen\File.ext',fmOpenRead or
fmShareDenyWrite);
FOut:=TFileStream.Create(W:\Destino\File.ext',fmCreate);
FOut.CopyFrom(FIn,FIn.Size);
FIn.Free;
FOut.Free;
end;
Lo del error 87 es "Par�metro no v�lido", pero es un error del sistema operativo (WinCE) y supongo que es un problema de permisos (supongo que tendr�s que pedir un permiso para usar cierto tipo de funciones, como un FileCopy desde un dispositivo externo).
Best regards,
JoshyFun