Página 1 de 1
Harbour - Classes: ON ERROR
Enviado: 27 Set 2018 15:49
por Carlos Susviela
Pessoal publiquei um exemplo do recurso
ON ERRO em classes;
Código: Selecionar todos
#include <hmg.ch>
#include "hbclass.ch"
CREATE CLASS tMinhaClasse
PROTECTED:
DATA cMensagem INIT ""
EXPORTED:
METHOD New() CONSTRUCTOR
ON ERROR MetodoDesconhecido()
ENDCLASS
*------------------------------------------
METHOD New(cArqDB) CLASS tMinhaCasse
*-----------------------------------------
// seu código construtor aqui
Return Self // retorna self
*------------------------------------------
METHOD MedodoDesconhecido() CLASS tMInhaClasse
*-----------------------------------------
// esse método é chamado quando ocorrer erro
MSGINFO("Método desconhecido: tMinhaCasse " )
Return Self // construtor retorna self
Exemplo de uso lá no post do Blog:
Programando xBase
https://programandoxbase.wordpress.com/ ... -on-error/

- On-Error-Classe.png (6.9 KiB) Exibido 1542 vezes
Harbour - Classes: ON ERROR
Enviado: 27 Set 2018 17:45
por JoséQuintas
#include "hmg.ch"
Se é minigui, deveria ser na seção de minigui.
Harbour - Classes: ON ERROR
Enviado: 27 Set 2018 19:32
por alxsts
Olá!
Sem querer criar polêmica, acho que este código é essencialmente código Harbour...
Harbour - Classes: ON ERROR
Enviado: 27 Set 2018 19:59
por Carlos Susviela
Por isso lá no BLOG já coloco no início de todos os posts...
Pré requisitos :
– HMG ( 3.4.4 – 32 bits)
Observação se você não usa HMG … teria que excluir a linha
#include <hmg.ch>
e também mudar onde aparece
MsgInfo(“Texto ….”) por ? “Texto ….”
https://programandoxbase.wordpress.com/ ... -on-error/
Vou procurar ter mais cuidado nas próximas publicações e publicar lá no HMG que no momento é a LIB que estou usando.
#AllxBase
Harbour - Classes: ON ERROR
Enviado: 27 Set 2018 23:02
por JoséQuintas
Harbour é Harbour.
Minigui... pode ser Harbour ou XHarbour.
E tem as funções da própria minigui, tentando se ajustar com Harbour e XHarbour ao mesmo tempo, além de certas funções e comandos próprios.
o simples fato do #include "hmg.ch" e depender da minigui, deixa na dúvida se vai funcionar com Harbour puro, se vai funcionar com Harbour oficial, se vai funcionar com Harbour 3.2 ou 3.4.
Quem já conhece, pode até se virar pra resolver os problemas.
Mas isso é direcionado pra quem está aprendendo, que nem sempre vai saber qual é a diferença.
Se os fontes são direcionados pra HMG, deveria estar na seção HMG, assim o aprendiz de HMG não vai ter problemas pra resolver.
Já pra aprendiz de Harbour... vai des-ensinar.
O cara vai lá pra aprender classe.... e desvia do aprendizado que queria pra outra coisa.
Aliás.... des-ensina logo na primeira linha.
#include <hmg.ch>
essa sintaxe é pra linguagem C, arquivos H, e não pra arquivos CH.
Já vai confundir quem está aprendendo logo na primeira linha.
Harbour - Classes: ON ERROR
Enviado: 28 Set 2018 15:44
por Carlos Susviela
JoséQuintas escreveu:
#include <hmg.ch>
essa sintaxe é pra linguagem C, arquivos H, e não pra arquivos CH.
Já vai confundir quem está aprendendo logo na primeira linha.
O mais engraçado é que a própria IDE do HMG gera o código assim e funciona sem problemas.

- #include <hmg.ch> // gerado pela IDE - HMG 1.2a Unicode
Harbour - Classes: ON ERROR
Enviado: 28 Set 2018 19:53
por JoséQuintas
Isto também funciona:
# INCLUDE "INKEY.CH"
pelo menos no Windows....
stat func também funciona
e BATs pra compilar também funcionam....
Funcionar não significa que é pra usar.