![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Ok chicos vale...
Básicamente ese es el código "problemático"... los archivos que se estan copiando de una ruta a otra estan en el servidor (Windows 2008 R2) y como les comentaba, en algunas máquinas de la red el código funciona sin problema, en otras falla sin devolver ningún error, si ejecuto el ejecutable en el servidor desde cualquier máquina, también funciona sin problema. Aislando el problema todo se origina ahí, ya que la lectura de los archivos viene después, pero... como en ocasiones ni siquiera los copia a donde deben estar, el proceso de lectura deja un error de apertura en la bitácora. Cabe mencionar que en todos los casos las pruebas las he realizado usando el administrador como usuario para realizar la conexion al servidor. Gracias de antemano Última edición por Casimiro Noteví fecha: 22-03-2016 a las 10:51:56. |
|
#2
|
|||
|
|||
|
Veo que copias el archivo y luego compruebas si se a copiado, si es así entonces eliminas el archivo original...
MoveFileA ![]() Mete esto en una variable, sera mas comodo de leer: "xrutap+(Extractfilename(Earchivo1.Filename)" |
|
#3
|
|||
|
|||
|
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 |
|
#4
|
||||
|
||||
|
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:
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
|
|
#5
|
||||
|
||||
|
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 |
|
#6
|
|||
|
|||
|
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|