PDA

Ver la Versión Completa : CopyFile no funciona en XP


mofo
15-03-2004, 18:08:36
Estoy intentando copiar un fichero con la función CopyFile y aunque no da error de compilación si que no copia el fichero.
Supongo que será por el XP porque el código me funciona en w9X


CopyFile(AnsiString("fichero origen").c_str(),AnsiString("fichero destino").c_str(),false);

Gracias

roman
15-03-2004, 18:13:58
A mi me funciona bien en Delphi y XP y dado que la función CopyFile es una función de la API de Windows, debiera funcionar sin problemas con C++ Builder. Checa que los nombres de archivos origen y destino correspondan a carpetas válidas.

// Saludos

mofo
16-03-2004, 09:25:35
A mi me funciona bien en Delphi y XP y dado que la función CopyFile es una función de la API de Windows, debiera funcionar sin problemas con C++ Builder. Checa que los nombres de archivos origen y destino correspondan a carpetas válidas.

// Saludos
Perdona Roman,

¿Hay que incluir alguna cabecera para que funcione? A mi me sigue sin funcionar

mofo
16-03-2004, 09:36:09
Perdona Roman,

¿Hay que incluir alguna cabecera para que funcione? A mi me sigue sin funcionar.

Gracias

roman
16-03-2004, 16:35:02
Esto lo desconozco, yo no uso C++. Mientra compile no deberia haber problemas, como te mencioné, es una función estándar de Windows.

¿Has examinado el valor que te devuleve la función? Debe ser cero. Si es distinto de cero usa la función GetLastError para saber el código de error y luego busca en el sdk de Windows a qué corresponde el error. Así te darás más idea de por donde va el problema.

// Saludos

mofo
17-03-2004, 08:53:15
Gracias por vuestra ayuda. El error era una chorrada, simplemente me olvidaba de poner la doble barra en los directorios c:\\.

Gracias por todo un saludo

FlacoNet
08-04-2004, 01:11:22
Hola, escribo este mensaje por que la verdad ya no se que pasa..
Usa para programar Win2000 y funciona bien el Copyfile. Pero cuando uso Win9x funciona algunas veces y otras no...Alguna idea?


if not (CopyFile('datos\tabla.db',Pchar(path.Text+'copiatabla.db'),true)) then


donde 'datos' es una carpeta que esta sobre el directorio raiz del ejecutable y path.text un edit control.

Les agradezco su respuesta...