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
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 &lt;hmg.ch&gt;  // gerado pela IDE - HMG 1.2a Unicode
#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.