Pesquisa resultou em 360 ocorrências: +OOP

Termo pesquisado: +oop

por JoséQuintas
01 Out 2025 02:09
Fórum: MiniGui
Tópico: HMG Extended OOP
Respostas: 0
Exibições: 5590

HMG Extended OOP

Fiz só um "rascunho" de como poderia usar OOP em HMG Extended, postei lá no fórum da HMG Extended.

Um exemplo usando o que criei

#include "i_var.ch"

*-----------------------------------------------------------------------------*
FUNCTION OBJ_HMG_GetFormControls( cFormName, aUserType ...
por JoséQuintas
29 Ago 2025 16:59
Fórum: Contribuições, Dicas e Tutoriais
Tópico: Uia, descobri algo interessante do AScan() / hb_AScan()
Respostas: 0
Exibições: 1497

Uia, descobri algo interessante do AScan() / hb_AScan()

Tava tentando entender alguns erros ao mudar HMG 3 pra OOP.......
Achei...


PROCEDURE Main

LOCAL aList := { 0, "A", {0,0} }

SetMode(25,80)
CLS
? hb_ASCan( aList, "J" )
Inkey(0)

RETURN


Isso resulta em ZERO.

mas.....

? AScan( aList, { | e | e == "J" } )


Já isso vai dar erro de type ...
por JoséQuintas
28 Ago 2025 12:52
Fórum: [x]Harbour
Tópico: HB_WebView (a cross-platform Webview library)
Respostas: 15
Exibições: 15862

HB_WebView (a cross-platform Webview library)

... 321 ] -> EXPERIMENTAL/NOT FULLY IMPLEMENTED: VIRTUAL GRID EDIT ALLOW TAB FLAG
* _HMG_SYSDATA [ 322 ] -> _RESERVED_
* _HMG_SYSDATA [ 323 ] -> OOP Object Counter
* _HMG_SYSDATA [ 324 ] -> OOP Last Window Object
* _HMG_SYSDATA [ 325 ] -> Current Control Definition: 'Buffered'
* _HMG_SYSDATA ...
por JoséQuintas
21 Ago 2025 19:27
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

É incrível.
Variáveis da classe App


CREATE CLASS _HmgAppClass STATIC

VAR aFormList INIT {}


Variáveis da classe do form


CREATE CLASS _HmgFormClass

VAR _nIndex INIT 0


É só isso.
O array tem todos os forms, todos os forms disponíveis em uma única variável.
E no form, tem o Index, toda ...
por JoséQuintas
21 Ago 2025 19:09
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

change.png

E olhando assim, dá até pra agilizar.
Tá procurando um form com essas características...
Pra isso existe AScan()


nPos := hb_AScan( oHmgApp():AllForms(),
{ | e | e:Name == cFormName .AND. e:Type == "X" .AND. e:ParentHandle == hWnd } )
IF nPos != 0
RETURN oHmgApp():FormByIndex( nPos ...
por JoséQuintas
21 Ago 2025 13:11
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

erro.png

Isto mostra que as alterações estão surtindo efeito.

O erro era esperado.

Hoje achei melhor alterar form:Active pra form:IsActive.
Esqueci de alterar na classe, então deu falta.

Também alterei form:Deleted pra form:IsDeleted

O importante do erro é: é erro esperado, fácil de resolver ...
por Ana Mitoooo
20 Ago 2025 18:32
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

Sem dúvida que o Array da forma que está, precisa a todo tempo consultar a tabela de referencia dos elementos (saber sua função).

Mudar _HMG_SYSDATA para Hash vai quebrar compatibilidade com qualquer código de usuário que utilize o Array diretamente.
Mudar _HMG_SYSDATA para Static idem, pois muda a ...
por JoséQuintas
20 Ago 2025 12:42
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

Olhe este bloco, ok, está parcialmente alterado:


For i := 1 To oHmgApp():FormCount
If _HMG_SYSDATA [ 65 ] [i] == .F.
If _HMG_SYSDATA [ 69 ] [i] != 'X'
If oHmgApp():FormByIndex( i ):Handle != ModalHandle
DisableWindow ( oHmgApp():FormByIndex( i ):Handle )
EndIf
EndIf
EndIf
Next i


Com ...
por JoséQuintas
20 Ago 2025 11:20
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

Hash não vai mudar nada, só vai piorar as coisas.
Quanto mais alternativas pior, mais difícil consertar depois.
HMG Extended acho que vai ser difícil refazer, por tantas opções alternativas que foram criadas e ainda são mantidas.
Manter compatibilidade com tudo que inventaram torna tudo cada vez ...
por Ana Mitoooo
19 Ago 2025 15:24
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

Mudar _HMG_SYSDATA para hash seria opção (intenção de melhorar a legibilidade) ?


*--------------------------------------------------------------------*
Function GetSplitChildWindowHandle (cFormName, cParentForm)
*--------------------------------------------------------------------*
LOCAL i, hWnd ...
por JoséQuintas
19 Ago 2025 14:22
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

Então.....
Essas coisas acontecem.....
hmg3.png
Por descuido, estava alterando hmg3 e testando hmg extended.

Joguei todas as alterações fora.
O pior disso, é que original também não funciona.
por JoséQuintas
19 Ago 2025 10:38
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

Não faço a menor idéia e não interessa no momento.
Compare os fontes
Antes de alterar


*--------------------------------------------------------------------*
Function GetSplitChildWindowHandle (cFormName, cParentForm)
*--------------------------------------------------------------------*
LOCAL i ...
por Ana Mitoooo
19 Ago 2025 09:23
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

A criação de uma classe OOP para a hmg3 seria diferente da implementação usada na oohg ?
hmg3 tem algum controle a mais que oohg ?

Os comandos nessa tela oohg me parecem idênticos a hmg3
Imagem

*Ainda não fiz testes com oohg
por JoséQuintas
18 Ago 2025 21:15
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

Tem estes casos também


_HMG_SYSDATA [ 271 ] := .F. // _HMG_IsModalActive
_HMG_SYSDATA [ 167 ] := 0 // _HMG_ActiveModalHandle


esses ficariam na classe principal.


oHmgApp():IsModalActive := .F.
oHmgApp():ActiveModalHandle := 0


E na classe principal mesmo estilo:

METHOD IsModalActive ...
por JoséQuintas
18 Ago 2025 18:22
Fórum: MiniGui
Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
Respostas: 12
Exibições: 1600

Só uma idéia que veio na cabeça pra OOP na HMG3

O que me parece agora:

_HMG_SYSDATA é a variável pública com tudo.
Digamos assim, cada nova variável que a HMG precisa, é adicionada uma nova coluna a esse array.
De certa forma, é o que fazemos com classes, a diferença é que está tudo nesse array público.
O array é multidimensional.
Compare com ...