In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Interceptar mensaje de error

Foro de Xailer profesional en español
Responder
Avatar de Usuario
XeviCOMAS
Mensajes: 593
Registrado: Sab Mar 12, 2011 8:16 pm

Interceptar mensaje de error

Mensaje 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.
Un Saludo,
Xevi.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Interceptar mensaje de error

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
XeviCOMAS
Mensajes: 593
Registrado: Sab Mar 12, 2011 8:16 pm

Interceptar mensaje de error

Mensaje 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
Un Saludo,
Xevi.
alberto.4154
Mensajes: 11
Registrado: Mar Abr 12, 2011 5:21 pm

Interceptar mensaje de error

Mensaje 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.
Avatar de Usuario
XeviCOMAS
Mensajes: 593
Registrado: Sab Mar 12, 2011 8:16 pm

Interceptar mensaje de error

Mensaje 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.
Un Saludo,
Xevi.
Responder