Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-03-2016
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 291
Poder: 21
elrayo76 Va por buen camino
Como te comente antes, intenta ver los permisos de los archivos a ver si es por eso que no hace lo correcto. Por mas que uses un usuario administrador puede que no te funcione.

Si los archivos se suben al servidor con un usuario puede que otro por mas que sea administrador no lo vea o la aplicación no los pueda usar correctamente. Esto puede pasar con los nombre de máquinas, segun este armado el esquema de permisos en los sorvidores.

saludos
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #2  
Antiguo 22-03-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Asegurate de leer la documentación

La funcion CopyFile devuelve True o False segun la operación tuvo éxito o no

Tu error es que tu codigo sigue operando sin chequear el valor de retorno. Las funciones de la API de Windows no suelen elevar excepciones; es por esto que la mayoria retorna el Boolean

Luego, existe el método RaiseLastOSError definido en la unidad SysUtils que eleva una excepción con el mensaje y código de la última excepción que se generó al llamar una llamada a la API de Windows

Podrías refactorizar tu código de la siguiente manera:

Código Delphi [-]
  if not CopyFile(...) then
    RaiseLastOSError;

  // código que se ejecuta si el archivo fue copiado con éxito

Otra forma de hacerlo en mi opinión mas limpia es usando la funcion Win32Check, también de la unidad SysUtils

Win32Check chequea el valor de retorno de la función en cuestión, y si es False (hubo un error) invoca a RaiseLastOSError

Código Delphi [-]
  if Win32Check(CopyFile(...)) then
  begin
    // código que se ejecuta si el archivo fue copiado con éxito
  end;
Responder Con Cita
  #3  
Antiguo 22-03-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Por otra parte, que hace el metodo Dm.Bitacora

Has probado depurar la aplicacion? Podrias ir imprimiendo mensajes en pantalla o en un archivo para ver "hasta donde llega"

Es mejor trabajar con información real y no andar jugando a las adivinanzas
Responder Con Cita
  #4  
Antiguo 22-03-2016
Willo Willo is offline
Miembro
 
Registrado: jun 2006
Posts: 116
Poder: 19
Willo Va por buen camino
No cabe duda que aqui siempre hay oportunidad para aprender de los grandes...

Gracias chicos, incorporare sus sugerencias a mi codigo y espero que eso arroje luz a mi ceguera.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como crear un ejecutable hijo desde mi ejecutable? K04VH4CK Internet 7 14-08-2015 08:02:23
Llamar ejecutable Delphi desde PHP con parametros Alejandro73 PHP 0 14-08-2013 18:41:57
password paradox desde ejecutable.. ingel Conexión con bases de datos 5 15-11-2010 12:39:48
llamar ejecutable desde boton web JuanErasmo .NET 2 16-01-2008 17:58:45
Llamar Forms desde un ejecutable????? subzero Varios 5 27-12-2005 21:02:52


La franja horaria es GMT +2. Ahora son las 11:47:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi