FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Duda con FileExists
Hola!
Aver si me podéis ayudar.. tengo un FileExists(pathcheck) donde va a buscar un archivo.ico en la unidad de CD. Entonces, cuando se ejecuta esta función el sistema devuelve un error de estos habituales de: "No hay disco en la unidad. Inserte un disco en la unidad D:". Simplemente quiero que no aparezca este mensaje, ya que yo tengo el mío personalizado y no quiero que salgan dos. Muchas gracias de antemano! - Zaida - |
#2
|
||||
|
||||
Hola nena_yei.
Que extaño... Para descartar algún problema en el código, podrías hacer una prueba simple en un nuevo proyecto vacío. Acabo de hacer esta con Delphi 7 y no produce ese comportamiento:
Si sigue dando el error, ampliá más detalles (S.O, versión Delphi, en que momento te sucede, etc). Saludos. Última edición por ecfisa fecha: 26-10-2010 a las 19:45:32. |
#3
|
||||
|
||||
Hola nena_yei.
Después de unas pruebas me salió la ventanita... Sucede cuando, una vez ejecutada la aplicación, se expulsa la unidad, y no importa si se vuelve a insertar, el error aparece por duplicado. Supongo que Delphi realiza una captura previa a FileExists y allí se dispara la excepción. Se puede lograr algo capturando el mensaje WM_DEVICECHANGE:
Ejemplo para usarlo:
Ese código evita la duplicación de mensajes, pero la verificación es lenta y puede aparecer 'Esperando un CD...' varias veces hasta que pasen unos segundos. Por ahora tal vez te saque del paso, pero seguro que alguien del foro te dará alguna propuesta mejor. Me olvidaba, tu aplicación debe estar corriendo para detectar la expulsión o ingreso de un CD, si no: 'Esperando un CD...' Saludos. Última edición por ecfisa fecha: 26-10-2010 a las 21:04:49. |
#4
|
|||
|
|||
Gracias ecfisa, luego lo pruebo y te informo si la solución me vale por el momento. De todas maneras, si alguien tiene alguna otra solución adelante!
Un saludo |
#5
|
|||
|
|||
Lo estaba probando ahora...pero claro, si el usuario ejecuta el programa sin el CD este código no llega a saltar nunca y lo que intento es que para iniciar el programa se requiera el CD, después si lo quitan ya sería otra historia. Pero está muy bien pensado ecfisa Nadie ha conseguido hacerlo?
|
#6
|
||||
|
||||
Hola nena_yei.
Se me ocurrió algo usando la función SetErrorMode ... Probá este código:
Ejemplo de llamada:
Saludos. |
#7
|
|||
|
|||
Sencillamente INCREIBLE! Ecfisa no sabes el tiempo que llevo detrás de esto...estoy que no me lo creo!!! Infinitas GRACIAS, de verdad!!!!
Un saludo, Graciaaaaaaaaaaaaaas!!!! - Zaida - |
#8
|
||||
|
||||
De nada Zaida, me alegra muchísimo haber podido ayudarte.
Saludos. |
#9
|
|||
|
|||
Aprovechando ya el hilo.. voy a hacer una pregunta así muy general sobre un error que me está dando unos dolores de cabeza... No puedo exponer el problema porque no sé el motivo, es decir, no es una sentencia exacta y tampoco pasa siempre, así que es como buscar una aguja en un pajar.
Me pasa que al cargar mi aplicación me sale el error de AccessViolation, peeeero..no siempre aparece y eso es lo que me trastoca. Resulta que aunque lo ejecute mil veces cuando estoy programando no hay ningún problema, pero luego cuando lo paso a cualquier otro ordenador (haciendo un cd) lo ejecuto 4 veces y no me da problemas y alomejor a la quinta sí, y luego a la séptima, pero no en todos los ordenadores me lo hace y tampoco con la misma asiduidad. Por tanto...mi pregunta simplemente es, puede ser algo relacionado con la memoria o algo? Porque si fuera algo de código el error saltaría siempre supongo, no? El procedimiento que hace el programa al inicio es descomprimir un archivo comprimido con formato .bh creando una carpeta en el directorio con todos los archivos, y luego al cerrar la aplicación elimina esa carpeta descomprimida. Solo abriendo y cerrando la aplicación durante varias veces (sin hacer nada dentro del programa ensí) ya me pasa esto del error, por tanto descarto que tenga que ver con otras secciones de dentro de la plataforma. Es lo último que me queda por solucionar para tener terminada la aplicación y la verdad es que no sé por donde empezar..no sé de donde puede provenir este error aleatorio y por mucho que debugo como el error no salta nunca en entorno de pruebas pues no avanzo. Ecfisa si supieras decirme o aconsejarme por donde podría venir el problema, o alguien que tenga alguna idea para simplemente orientarme un poquito, lo agradecería enormemente. Gracias de antemano, - Zaida - |
#10
|
|||
|
|||
He descargado el nuevo package que hace falta para este componente de descompresión, y ahora me sale el siguiente error:
Error reading UnBh2.SeedDataKeys.Key0: Property SeedDataKeys does not exist. Aunque no hayais utilizado este componente, supongo que es un error frecuente. Supongo que es porque antes tenía una versión antigua del package Zip Tv, y este componente (UnBh) no tenía la propiedad SeedDataKeys, que en el inspector de objetos de la izquierda ahora me aparece. Como lo soluciono?? Help me!! Gracias de antemano! - Zaida - |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Fallo copyfile y fileexists en servicio windows y red | Ivanzinho | Varios | 4 | 13-08-2013 09:50:59 |
FileExists o DirectoryExists pero no solo en el actual | pnikkosis | OOP | 2 | 01-12-2009 04:24:07 |
Duda no Try..Except | Paulao | Varios | 7 | 13-08-2008 19:24:55 |
Fileexists sobre una red | Kipow | Varios | 2 | 26-05-2006 14:57:43 |
Duda con ADO | Ivan_25 | C++ Builder | 4 | 09-11-2005 10:02:00 |
|