Harbour - Classes: ON ERROR

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
susviela@bol.com.br
Usuário Nível 3
Usuário Nível 3
Mensagens: 236
Registrado em: 30 Jun 2017 11:17
Localização: São José / SC
Contato:

Harbour - Classes: ON ERROR

Mensagem por susviela@bol.com.br »

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 1497 vezes
Editado pela última vez por Toledo em 27 Set 2018 19:10, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o [x]Harbour.
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour - Classes: ON ERROR

Mensagem por JoséQuintas »

#include "hmg.ch"
Se é minigui, deveria ser na seção de minigui.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Harbour - Classes: ON ERROR

Mensagem por alxsts »

Olá!

Sem querer criar polêmica, acho que este código é essencialmente código Harbour...
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
susviela@bol.com.br
Usuário Nível 3
Usuário Nível 3
Mensagens: 236
Registrado em: 30 Jun 2017 11:17
Localização: São José / SC
Contato:

Harbour - Classes: ON ERROR

Mensagem por susviela@bol.com.br »

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
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour - Classes: ON ERROR

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
susviela@bol.com.br
Usuário Nível 3
Usuário Nível 3
Mensagens: 236
Registrado em: 30 Jun 2017 11:17
Localização: São José / SC
Contato:

Harbour - Classes: ON ERROR

Mensagem por susviela@bol.com.br »

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
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour - Classes: ON ERROR

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder