Página 1 de 1

Interceptar mensaje de error

Publicado: Jue Nov 21, 2013 12:42 am
por XeviCOMAS
Reformulando mi cuestion anterior, ya que no es un caso que afecte a la
función GetDrives.
El caso es que cuando desde Xailer se intenta acceder a una unidad que ésta
está vacia, lanza un mensaje de error informando que la unidad está vací­a y
que insertemos un disco.
Por ej. Un ordenador con lector de tarjetas o simplemente, con disquetera y
que intentemos ejecutar cualquier acción en ella, nos mandarí­a ese mensaje
de unidad vací­a, insertar disco.
Por ej. FCreate( "A:Prueba.txt" )
Sin modo alguno, que yo sepa, para poder interceptar ese mensajito antes de
lanzarse.
No es posible interceptarlo???
He probado...
TRY
FCreate( "A:Prueba.txt" )
CATCH
END
Pero nada... el mensajito SIEMPRE ahí­ mostrando el error.
Me he mirado el fichero Errorsys.prg... pero ahí­ tampoco, no es un mensaje
que produzca error y cierre la aplicación.
¿Algun aporte o solución???
Gracias.
Un Saludo,
Xevi.

Interceptar mensaje de error

Publicado: Jue Nov 21, 2013 9:31 am
por jfgimenez
Xevi,
el problema es que no se trata de un error, y por eso no se puede
interceptar. Lo que comentas con las unidades del lector de tarjetas
también ocurre con los lectores de CD o DVD. Cuando intentas acceder a
ellos Windows lanza un mensaje pidiendo al usuario que introduzca un disco.
Lo que no sé es como detectar si ya hay algún disco (o tarjeta)
insertado antes de acceder a él. Si tengo un hueco intentaré investigarlo.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Interceptar mensaje de error

Publicado: Jue Nov 21, 2013 1:52 pm
por XeviCOMAS
Jose,
Gracias por tu tiempo.
Estaré expentante... en un apartado de una de mis aplicaciones hago una
lectura de todas las unidades removibles y al correr en máquinas con
unidades lectoras de tarjetas es un mensaje de error que seria bueno
esquivar.
La unidad lectora de CD... no es considerada removible??? porque
GetDrives(2) no esta en la lista.
Para mi caso, mejor... una unidad menos a inspeccionar.
La disquetera A: es como una unidad lectora más y si que muestra el mismo
mensajito de error unidad vací­a.
Un Saludo,
Xevi.
"Jose F. Gimenez" ha escrit al missatge:528dc4d5$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Xevi,
el problema es que no se trata de un error, y por eso no se puede
interceptar. Lo que comentas con las unidades del lector de tarjetas
también ocurre con los lectores de CD o DVD. Cuando intentas acceder a
ellos Windows lanza un mensaje pidiendo al usuario que introduzca un disco.
Lo que no sé es como detectar si ya hay algún disco (o tarjeta)
insertado antes de acceder a él. Si tengo un hueco intentaré investigarlo.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Interceptar mensaje de error

Publicado: Jue Nov 21, 2013 7:07 pm
por alberto.4154
Xevi,
Yo obtengo las unidades mediante la siguiente función:
FUNC LocalGetDrives()
LOCAL i, aDrives := {}
FOR i := 1 TO 25
try
IF !Empty( DiskSpace( i ) )
AAdd( aDrives, Chr( 64 + i ) + ':' )
ENDIF
catch
// Ignorar
END
NEXT
RETURN aDrives
Un saludo,
Alberto
> Jose,
>
> Gracias por tu tiempo.
> Estaré expentante... en un apartado de una de mis aplicaciones hago
> una lectura de todas las unidades removibles y al correr en máquinas
> con unidades lectoras de tarjetas es un mensaje de error que seria
> bueno esquivar.
>
> La unidad lectora de CD... no es considerada removible??? porque
> GetDrives(2) no esta en la lista. Para mi caso, mejor... una unidad
> menos a inspeccionar.
>
> La disquetera A: es como una unidad lectora más y si que muestra el
> mismo mensajito de error unidad vací­a.
>
>
> Un Saludo,
> Xevi.

Interceptar mensaje de error

Publicado: Jue Nov 21, 2013 7:25 pm
por XeviCOMAS
Buen aporte para "evitar" el mensaje de gí¼indous.
Gracias.
Un Saludo,
Xevi.
"Alberto A.T." ha escrit al missatge:528e4be9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Xevi,
Yo obtengo las unidades mediante la siguiente función:
FUNC LocalGetDrives()
LOCAL i, aDrives := {}
FOR i := 1 TO 25
try
IF !Empty( DiskSpace( i ) )
AAdd( aDrives, Chr( 64 + i ) + ':' )
ENDIF
catch
// Ignorar
END
NEXT
RETURN aDrives
Un saludo,
Alberto
> Jose,
>
> Gracias por tu tiempo.
> Estaré expentante... en un apartado de una de mis aplicaciones hago
> una lectura de todas las unidades removibles y al correr en máquinas
> con unidades lectoras de tarjetas es un mensaje de error que seria
> bueno esquivar.
>
> La unidad lectora de CD... no es considerada removible??? porque
> GetDrives(2) no esta en la lista. Para mi caso, mejor... una unidad
> menos a inspeccionar.
>
> La disquetera A: es como una unidad lectora más y si que muestra el
> mismo mensajito de error unidad vací­a.
>
>
> Un Saludo,
> Xevi.