Página 1 de 1

Exemplo OOHG (*)

Enviado: 13 Nov 2024 07:53
por JoséQuintas
Fui dar uma mão na OOHG, e topei com este fonte.
Declarei variáveis, fui executar e deu erro de variável não definida.

Código: Selecionar todos

      @ 10, 150 BUTTON btn_Change1 ;
         OBJ oChange1 ;
         WIDTH 150 ;
         CAPTION "Change TARGET 1" ;
         ACTION ChangeColor( "oTarget1" )

Código: Selecionar todos

FUNCTION ChangeColor( cButton )

   IF aEqual( &cButton:FontColor, BLUE )
      &cButton:FontColor := RED
      &cButton:BackColor := BLUE
   ELSE
      &cButton:FontColor := BLUE
      &cButton:BackColor := RED
   ENDIF

RETURN NIL
Vamos pensar....
Uma versão de minigui diferente, só pra usar objeto.
E aí, no exemplo usa macro ao invés de objeto.
Parece que OOHG, criada pra usar objetos, não gosta de usar objetos.
Nas HMG normais, sem OOP, dá pra usar melhor que esse exemplo, o DLGAUTO é uma prova disso.

Sei lá...
Pode ser que só faltou um pouco de ajuda.
Como usuários não se importam com nada, ninguém ajuda em nada.
Vou ajustar e mandar o pull request, pra ver o que dá.

Usando ou não OOHG, são as LIBs que temos, são as LIBs que fazem harbour e xharbour continuarem existindo.
Nem só de coisas profundas/internas sobrevivem as LIBs, ajuda em ajustar fonte qualquer um pode ajudar.
Vamos ajudar as LIBs e o harbour.

Além disso, a solução de uma pode estar na outra.
Olhar o que uma faz pode trazer idéias pras outras.

Exemplo OOHG (*)

Enviado: 15 Nov 2024 17:56
por JoséQuintas
Voltei nesse fonte.

Na prática de nenhum jeito funciona.
Ainda tentando entender.

Exemplo OOHG (*)

Enviado: 15 Nov 2024 18:14
por JoséQuintas
Ok, obrigatório o uso de manifest, senão a cor não aparece.
Deu trabalho, porque pensei que era problema das alterações.
Aproveitei pra colocar um button com aviso sobre isso.

em OOP ficou assim:

Código: Selecionar todos

FUNCTION ChangeColor( xControl )

   IF aEqual( xControl:FontColor, BLUE )
      xControl:FontColor := RED
      xControl:BackColor := BLUE
   ELSE
      xControl:FontColor := BLUE
      xControl:BackColor := RED
   ENDIF

RETURN NIL