De Harbour 3.4 pra Harbour 3.2

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

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

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

3432.png
Ainda tem coisa pra resolver, mas não faço nem idéia sobre algumas.
Por exemplo, pra mudar o tamanho do fonte, não tem nada nos fontes a não ser variáveis.

Não faço uso de nada disso, mas..... nunca se sabe....
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Diferenças:

- Não apareceu ícone em dois controles
- Listbox - cor de fundo diferente
- Textbox - cor de fundo diferente
- frame - cor de fundo diferente no título
- slider - cor de fundo diferente
- editbox - cor de fundo diferente
- label - tamanho do fonte não se altera, além da cor de fundo

Acertando a cor de fundo já elimina boa parte da lista.

Por enquanto só olhei tamanho de fonte, nada mais.
Talvez deixar pra olhar quando precisar.
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/
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

De Harbour 3.4 pra Harbour 3.2

Mensagem por Fernando queiroz »

@ 10,560 SAY oLabel11 CAPTION "Descrição" SIZE 492,22 COLOR 0 BACKCOLOR 16777215 FONT HFont():Add( '',0,-10,400,,,)

@ 895,550 SAY oEditbox4 CAPTION "R$ " + ltrim(transform(w_vNF,"@E 99,999,999,999.99")) SIZE 215,35 ;
COLOR 255 BACKCOLOR 16777215 ;
FONT HFont():Add( '',0,-25,700,,,) ;
STYLE ES_RIGHT
TELA01.jpg
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Código: Selecionar todos

   IF ::cFontName != NIL
      hOldFont := ::SendMessage( WIN_WM_GETFONT )
      ::SendMessage( WIN_WM_SETFONT, wvt_CreateFont( ::cFontName, ::nFontSize ), 0 )
      wvg_DeleteObject( hOldFont )
   ENDIF
Tinha bloqueado por causa dos erros aleatórios, pra ser se resolvia alguma coisa.

Aqui é setando para o uso automático, como sempre, mensagem para o Windows.
mensagem WIN_WM_GETFONT pega o ponteiro do fonte anterior
mensagem WIN_WM_SETFONT envia o ponteiro do fonte novo
mensagem WIN_WM_SETTEXT envia o texto a ser escrito
Este jeito só vale pro modo automático do Windows

Curiosidade:
No HFONT() da HWGUI usa HWG_CREATEFONT()
Na GTWVG usa WVT_CREATEFONT()
Isso é apenas pra carregar o fonte pra um ponteiro/variável, até aí ainda não está usando pra nada.
Na HWGUI o HFONT() vai carregando todos os fontes como elementos de um array.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Tem coisa estranha na hwgui:

Código: Selecionar todos

METHOD Add( fontName, nWidth, nHeight , fnWeight, ;
      fdwCharSet, fdwItalic, fdwUnderline, fdwStrikeOut, nHandle ) CLASS HFont

   LOCAL i, nlen := Len( ::aFonts )

   nHeight  := iif( nHeight == Nil, - 13, nHeight )
   fnWeight := iif( fnWeight == Nil, 0, fnWeight )
   fdwCharSet := iif( fdwCharSet == Nil, 0, fdwCharSet )
   fdwItalic := iif( fdwItalic == Nil, 0, fdwItalic )
   fdwUnderline := iif( fdwUnderline == Nil, 0, fdwUnderline )
   fdwStrikeOut := iif( fdwStrikeOut == Nil, 0, fdwStrikeOut )

   FOR i := 1 TO nlen
      IF ::aFonts[i]:name == fontName .AND.             ;
            ( ( Empty(::aFonts[i]:width) .AND. Empty(nWidth) ) ;
            .OR. ::aFonts[i]:width == nWidth ) .AND.    ;
            ::aFonts[i]:height == nHeight .AND.         ;
            ::aFonts[i]:weight == fnWeight .AND.        ;
            ::aFonts[i]:CharSet == fdwCharSet .AND.     ;
            ::aFonts[i]:Italic == fdwItalic .AND.       ;
            ::aFonts[i]:Underline == fdwUnderline .AND. ;
            ::aFonts[i]:StrikeOut == fdwStrikeOut

         ::aFonts[ i ]:nCounter ++
         IF nHandle != Nil
            hwg_Deleteobject( nHandle )
         ENDIF
         RETURN ::aFonts[ i ]
      ENDIF
   NEXT
Esse nHandle tá esquisito, e talvez até no lugar errado.

Se a rotina recebe nHandle, destrói o fonte.
Ok, mas..... que fonte ? não deveria remover do array ?
E o que tem a ver ESSE nHandle com o fonte novo ?
E se coincidir que o nHandle é exatamente o fonte que interessa ? vai ser destruído e ao mesmo tempo usado?

Como eu disse, tá esquisito.
Pode ser que até hoje não foi usado esse parâmetro.
Mas eu diria que pode ser uma possível fonte de erros.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

NÃO USA nHandle em lugar nenhum, mas....

Achei isto em HSTATICLink

Código: Selecionar todos

   IF ::oFont == NIL
      IF ::oParent:oFont != NIL
         ::oFont := HFont():Add( ::oParent:oFont:name, ::oParent:oFont:width, ::oParent:oFont:height, ;
            ::oParent:oFont:weight, ::oParent:oFont:charset, ::oParent:oFont:italic, 1, ::oParent:oFont:StrikeOut,,.T. )
      ELSE
         ::oFont := HFont():Add( "Serif", 0, 12,,,,,,,.T. )
      ENDIF
   ELSE
      IF ::oFont:Underline  == 0
         oPrevFont := ::oFont
         ::oFont:Release()
         ::oFont := HFont():Add( oPrevFont:name, oPrevFont:width, oPrevFont:height, ;
            oPrevFont:weight, oPrevFont:charset, oPrevFont:italic, 1, oPrevFont:StrikeOut,,.T. )
      ENDIF
   ENDIF
Tem um décimo parâmetro (.T.) que não existe lá no HFont():Add().
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Pera lá....
Esqueci que hwgui tem rotinas pra Linux e pra Windows.
Pesquisar todos os fontes trás rotinas dos dois ambientes.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Código: Selecionar todos

   METHOD Add( fontName, nWidth, nHeight , fnWeight, fdwCharSet, fdwItalic, fdwUnderline, fdwStrikeOut, nHandle, lLinux )
Na HFONT pra Linux tem o décimo parâmetro lLinux.
E o fonte de HSTATICLink que olhei antes também é pra Linux

Tá tudo certo, só mesmo o uso de nHandle que está esquisito, mas não usa em nenhum lugar.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

test.png
Tamanho do fonte resolvido.
Pode ser esquisito aumentar somente altura e não largura, mas pra teste tá bom.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Sobre a cor de fundo:

No padrão do Windows, a cor do controle é igual à da janela, o Windows pega a cor da janela.
Acontece que.... a cor da GT usada pelo Harbour está cobrindo a janela.
Se não fosse isso, tava tudo certo, a janela default do Windows é branca.

Ao mesmo tempo, é interessante isso:
Lembram do OWNERBUTTON da HWGUI ? tem a propriedade SS_OWNER e é "desenhado a mão"?
Daria pra aplicar isso a todos os controles, e usar a cor da GT.
E mais que isso: criar o controle que quiser, pra desenhar o que quiser, do jeito que quiser, sem ficar limitado ao que existe.
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/
faustinofaria
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 29 Mar 2011 21:15
Localização: Itápolis / SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por faustinofaria »

JoséQuintas, tudo bem?! Você e o Itamar sempre ajudam esse Véio Programador aqui.

Porque você está migrando do 3.4 para o 3.2?

Uso o 3.2. Outro dia vi que um programador estava tendo problemas de travamento Harbour + GTWVW com Windows 10/11. Ele mudou do 3.2 para o 3.4 e resolveu.

Eu estava pensando em migrar, pois achei que era mais novo. E agora vejo seu post.

Pode me auxiliar nisso, por favor!

Muito obrigado!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

faustinofaria escreveu:Porque você está migrando do 3.4 para o 3.2?
Uso o 3.2. Outro dia vi que um programador estava tendo problemas de travamento Harbour + GTWVW com Windows 10/11. Ele mudou do 3.2 para o 3.4 e resolveu.
Eu estava pensando em migrar, pois achei que era mais novo. E agora vejo seu post.
Pode me auxiliar nisso, por favor!
Muito obrigado!
O projeto inicial foi Harbour, continua até hoje.
Desse projeto foi criada uma cópia, o XHarbour, então passaram a ser 2 diferentes.
Do mesmo projeto foi criada uma cópia, o Harbour 3.4., então passaram a ser 3 diferentes.
São 3 projetos, cada um foi evoluindo de uma maneira.

O Harbour 3.4 até foi incorporando TUDO do 3.2, mas parou, dependendo do ponto de vista, ficou pra trás.
Muita coisa do 3.4 foi sendo copiada para os outros, mas não tudo, só o que interessou pra quem mexe no 3.2.

Hoje, por exemplo, o Harbour 3.2 tem o símbolo do EURO, usado em quase toda a Europa, o 3.4 não, XHarbour nem sei.
Isso deve ter provocado uma migração pesada pra 3.2, pelo menos da Europa.

Por outro lado, está sendo muito difundido o mod_harbour, pra uso do Harbour na internet, que usa como base totalmente o Harbour 3.4, devido às melhorias dele.

São 3 produtos diferentes: Harbour 3.2 , Harbour 3.4 e XHarbour

De Harbour, o único que vém sendo atualizado é o Harbour 3.2.
É de se imaginar que, por ser o mais usado, vai ser o que terá mais suporte e correções.

NÃO TIVE NENHUM PROBLEMA COM HARBOUR 3.4
Apenas cansei de "ser diferente", no que se refere a versão do Harbour.

Usar GTWVW também é ser diferente, vai deixar preso ao 3.4, e só vai servir ele.
Usar GTWVG nem tanto, tem nos dois.

Fora isso, faço contribuições pra algumas LIBs.
Já aconteceu de eu mandar coisa pra LIB, e não funcionar no 3.2.
Usando 3.2 vai ser certeza de funcionar.

De certa forma, vai da preferência de cada um.
Mas vai que a Microsoft muda as regras do jogo, só o 3.2 vai ser atualizado rápido.

O W10 bagunçou a GTWVW ? e o que mais pode bagunçar daqui pra frente ?
Pode resolver agora com 3.4, mas e depois ?
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Acabei de pegar uma diferença 3.4 x 3.2

Código: Selecionar todos

test.prg
/fontes/integra/libjpa/prg/errorsys.prg
error F0035 Bad command-line parameter '/fontes\integra\libjpa\prg\errorsys.prg'
No 3.2, só se for no formato windows, com barra invertida.
No Linux vai ser complicado resolver isso.
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

De Harbour 3.4 pra Harbour 3.2

Mensagem por Itamar M. Lins Jr. »

Olá!
Por outro lado, está sendo muito difundido o mod_harbour, pra uso do Harbour na internet, que usa como base totalmente o Harbour 3.4, devido às melhorias dele.
Sei disso não.
Cadê a fonte dessa informação ?
Acompanho desde o inicio até nos grupos... Agente usa HB32.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Não dá mais pra ver, foi tudo apagado.
Ficava tudo lá no site do Antonio Linares.
Só procurar os posts aqui de mod_harbour, e vai ver que nenhum link funciona mais.
A história foi apagada.
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