Ir al contenido principal

Métodos y datas que no existen

¿Que pasa cuando tratamos de usar un método o una data que no tenemos declarada dentro una clase?

Seguramente, la aplicación nos mostrará un hermoso mensaje de error y con él, la finalización nada elegante de nuestro desarrollo.

Esto me sucedía de una forma frecuente cuando usaba la clase ToleAuto y algún componente que soporte OLE, como puede ser (Excel, Word, Access, etc, etc).

Les voy a mostrar la manera en que resolví este fastidioso problema.

Vamos a hacerlo con un ejemplo usando la clase Texcel.

FUNCTION Test()
oExcel := TExcelScript():New()
oExcel:Visualizar(.T.)
RETURN( Nil )


Este sencillo ejemplo no tiene ningún problema.

Ahora vamos a forzar un error.

FUNCTION Test()
oExcel := TExcelScript():New()
oExcel:Visualiza(.T.)
RETURN( Nil )


¿Ya lo notaron? , ¿Ya ubicaron el error?

¡¡¡ Efectivamente ¡!!! El método visualiza(.T.) no existe y obtendríamos un mensaje de error como este:

-- Error description: Error BASE/1004 Message not found: TEXCELSCRIPT:VISUALIZA

Para resolver esto, vamos a usar el manejador de errores.

Lo primero que debemos de hacer es la declaración dentro de nuestra clase.

CLASS TexcelScript
METHOD ….
METHOD ….
METHOD ….
METHOD ….

ERROR HANDLER ERROR()
ENDCLASS

Y segundo, programar nuestro método Error (), que quedaría de esta forma.

METHOD ERROR () CLASS TExcelScript
MsgInfo( "La propiedad "+__GetMessage() +" no existe " , "Aviso al usuario")
RETURN


Por supuesto que ustedes pueden agregar más sentencias a ese método, por lo pronto para mi es suficiente.

Comentarios

Entradas más populares de este blog

¿ Problemas para descomprimir archivos ?

 Hoy en día hay muchas opciones para comprimir información, existen algoritmos que permiten comprimir distintos tipos de archivos. Los formatos Zip y Rar son comunmente utilizados en Windows, los formatos Tar, Gzip, Bzip2 son utilizados en Linux y Unix. ¿ Qué hacer cuándo se presenta la necesidad de descomprimir un archivo en alguno de los formatos mencionados y no tienes instalado el software necesario en tu equipo ? Te recomiendo visitar  Cloudconvert , es un sitio en dónde podrás convertir archivos de un formato de compresión a otro sin necesidad de instalar software, la convesión es realizada en línea. La versión libre te permite realizar hasta 25 convesiones por día.

Clipper, Harbour

  Aunque muchos consideran a Clipper y Harbour ( https://harbour.github.io/ ) lenguajes “viejos”, la realidad es que siguen siendo el motor de numerosos sistemas de gestión. ✅ ¿El reto? En un reciente proyecto el objetivo fue realizar la planificación de rutas de visita optimizadas a zonas geográficas. ✅ ¿La solución? Utilizar Python en Google Colab ( https://colab.google/ ) para extraer centroides geográficos desde archivos .kml y construir archivos .dbf 🔧 Metodología En Google Colab utilizar librería fastxml ( https://pypi.org/project/fastkml/ ) para procesar archivos .kml y extraer los centroides de cada polígono. Utilizar la librería dbf ( https://pypi.org/project/dbf/ ) pa...

El triste

"Hasta el mejor libro... tiene final." No recuerdo al autor. "Qué triste todos dicen que soy, que siempre estoy hablando de ti..."  Esa cita es parte de la letra de una canción llamada "El triste" interpretada por José José... el día de hoy describe una parte de mi.