Página 2 de 4

Situação atual do demoall.prg

Enviado: 01 Mai 2025 14:35
por JoséQuintas
github.png
Só pra curiosidade.

O GITHUB pegou esse erro também.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 14:38
por Itamar M. Lins Jr.
Olá!
Que estranho, não mexi na parte de GTK.
Eu sei, eu pego esses warnigs aqui direto em GTK.
O pessoal usa GTK+ 2 mais antigo que não dá esses avisos. Eu uso o GTK+ 2 mais atual.
Agora já aprendi alguns comandos, eu vou testando.
Inclusive GTK 2x(ultima versão) não tem suporte completo para o ComboBox.! Ai eles vão lançando melhorias(Fix) nos 3! GTK2, GTK3 e GTK4.
A versão 2 tem fix até (abril ?), é muita coisa pra ler...

Saudações,
Itamar M. Lins Jr.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 14:42
por JoséQuintas
Só mais um comentário:

Aqui eu configurei o GIT pra usar o formato Windows PTISO na minha máquina, e salvar no GITHUB como UTF-8/linux
Igual o harbour faz.
Por isso lá deu erro esse arquivo, porque lá continua com maiúscula.
Mas é assim original da hwgui, não vou alterar.
Só vou alterar o fonte mesmo.

Desta vez esperar o github avisar que passou no teste kkkk

Situação atual do demoall.prg

Enviado: 01 Mai 2025 14:45
por JoséQuintas
Copyright (c) 1999-2024, https://harbour.github.io/

../samples/demo.ch(85) Warning W0034 STATIC Function 'DEMOIMGRESOURCE' defined but never used

No code generated.
Pois é...
Se não mostro a imagem no linux, a função também virou inútil para o linux.

Vamos mostrar uai.
Linux também pode usar #pragma

Situação atual do demoall.prg

Enviado: 01 Mai 2025 14:48
por Itamar M. Lins Jr.
Olá!
demo.ch(85) Warning W0034 STATIC Function 'DEMOIMGRESOURCE' defined but never used
Vai mudando ai.
Mudei D.* para d.* aqui e agora esse erro ai de cima.

Saudações,
Itamar M. Lins Jr.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 14:53
por JoséQuintas
Sobre o outro erro...

Se ele gerou EXE mesmo faltando arquivo, então o erro pode ter sido usar imagem nula.
Esperando o teste github antes de enviar com as mudanças.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 15:01
por JoséQuintas
kkkkkkkkkkkkkkk

Pensei que era spam no linux
Selecting previously unselected package gir1.2-freedesktop-dev:amd64.
Preparing to unpack .../017-gir1.2-freedesktop-dev_1.80.1-1_amd64.deb ...
enxerguei GIRL - garota, mas é número 1.

In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
from /usr/include/gtk-2.0/gtk/gtk.h:126:
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
73 | GTimeVal last_popdown;
| ^~~~~~~~
no github dá esse aviso também.
Diz que a função é obsoleta, pra usar a nova.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 15:13
por JoséQuintas
tem esta anotação no fonte, aparententemente se abrir dialog duas vezes.

Código: Selecionar todos

/*
  GTK: crashes here with core dump memory access violation,
  if dialog is called twice.
*/
#ifdef __GTK__
   @ 270, 160 BITMAP   oObj_Dialog
#endif
O resto atualizado.
Não sei se pode parecer que resolvi seu bug, porque entrou depois.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 15:37
por JoséQuintas
Estou com uma dúvida.....

No Windows usa HICON pra ícone, e HBITMAP pra imagens
Se trocar dá erro.

E no linux ?
Tanto faz ?
Ou se usar HICON dá erro no linux ?

E pro Windows PNG é ícone, não sei se depende do PNG.
Mas até hoje o arquivo RC não aceita declarar PNG como ícone.
E na API Windows, o default também não aceita.
As funções de PNG são separadas, como DrawIcon() e DrawIconEx(), a API windows continua na primeira opção mesmo existindo a segunda, desde o Windows Vista.

Também me veio outra coisa na cabeça:
Estou usando Windows 11.
Será que o teste de PNG é válido pro W10 ?

Lembrando também:
Windows Vista é depois do XP.
Num Windows XP não vai existir esse DrawIconEx()

Pois é... desenvolver pra qualquer ambiente é complicado, quando até o próprio sistema operacional tem diferenças.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 15:39
por JoséQuintas
E aí?
deu certo no linux, apareceram as 6 imagens igual mostrei antes ?
pode ser pelo demoall, ou pelo demoimage2 é direto nele.
De qualquer jeito, vai ser o demoimage2 rodando.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 15:44
por Itamar M. Lins Jr.
Olá!
Captura de imagem_20250501_155400.png
Saudações,
Itamar M. Lins Jr.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 16:25
por JoséQuintas
Ok.
Em GTK é HBITMAP pra tudo, não pode usar HICON
Achei que a HWGUI faria isso automático.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 17:11
por JoséQuintas
Mandei lá um pedido, pra ver se é possível

Se no windows usa @ ICON, e no linux usa @ BITMAP....
Pra que colocar isso em tudo que é fonte ?
Era só alterar na HWGUI e pronto, no #ifdef ou #translate

Isso vai ser uma revolução pra quem usa nos dois ambientes.
Menos #ifdef pra lembrar.

Talvez quem mexe com GTK só saiba da GTK, e quem mexe no Windows só saiba do Windows.
Por isso um não mexe no que é do outro.
Mas se é sempre assim... então que hwgui já faça.

Mexer devagar, com tranquilidade, dá pra ver essas coisas.
Quem tem que correr pra resolver, deixa passar.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 18:21
por JoséQuintas
Mais outra, agora na errorsys.
E só estou mexendo em samples pra incluir no demoall kkkkk
Error BASE/1070 Argument error: ==
Called from (b)HWG_ERRSYS(20)
Called from (b)HWG_FINDPARENT(542)
Called from ASCAN(0)
Called from HWG_FINDPARENT(542)
Called from HWG_FINDSELF(561)
Called from HWG_NICEBUTTPROC(134)
Called from HWG_DLGBOXINDIRECT(0)
Called from HDIALOG:ACTIVATE(176)
Called from MAIN(64)
(1) = Type: N Value: 0
(2) = Type: P Value: <pointer>


HWGUI 2.23 dev Build 8
Date:05/01/25
Time:17:56:33
Com certeza não descobri isso sozinho.
Não lembro quem foi que me passou.
No final mostra os tipos e valores envolvidos no erro.

É teste fora do normal, não é bug hwgui.
O nice button não é mais pra ser usado, tem o ownerbutton que tem até mais recursos.
Esse nice button foi criado pra window e não pra dialog.

Situação atual do demoall.prg

Enviado: 01 Mai 2025 18:50
por JoséQuintas
niceb.png
Uia.....
quase deu certo.

Tem horas que saber o CONCEITO das coisas ajuda.
Deu este erro no nice button, após trocar de WINDOW pra DIALOG:
! Error BASE/1070 Argument error: ==
! Called from (b)HWG_ERRSYS(20)
! Called from (b)HWG_FINDPARENT(542)
! Called from ASCAN(0)
! Called from HWG_FINDPARENT(542)
! Called from HWG_FINDSELF(561)
! Called from HWG_NICEBUTTPROC(134)
! Called from HWG_DLGBOXINDIRECT(0)
! Called from HDIALOG:ACTIVATE(176)
! Called from MAIN(64)
! (1) = Type: N Value: 0
! (2) = Type: P Value: <pointer>
Que erro é esse ?
Não tem janela criada, por isso não tem handle de janela.
Diferente da WINDOW, a DIALOG é criada no final.
Se vai ser criada no final, não adianta querer colocar coisa na janela que não existe.

Tá.... e quando é que eu tenho janela e handle?
Depois que cria.... no INIT...

Então vamos criar no INIT uai....

Código: Selecionar todos

FUNCTION DemoNice( lWithDialog, oDlg, aInitList )

   LOCAL bCode

   hb_Default( @lWithDialog, .T. )

   IF lWithDialog
      INIT DIALOG oDlg ;
         SIZE 640, 480 ;
         ON INIT { || Eval( bCode ) }
   ENDIF

   bCode := { ||
   @ 100, 100 nicebutton [ola] ;
      of oDlg ;
      ;//id 100 ;
      size 40,40 ;
      red 52  green 10  blue 60 ;
      ON CLICK { || hwg_MsgInfo( "test" ) }

   @ 100, 150 nicebutton [Rafael] ;
      of oDlg ;
      ;//id 101 ;
      size 60,40 ;
      red 215 green 76  blue 108

   @ 100, 200 nicebutton [Culik] ;
      of oDlg ;
      ;//id 102 ;
      size 40,40 ;
      red 136 green 157 blue 234 ;
      on click { || oDlg:Close() }

   @ 100, 250 nicebutton [guimaraes] ;
      of oDlg ;
      ;//id 102 ;
      size 60,60 ;
      red 198 green 045 blue 215 ;
      on click { || oDlg:Close() }

   RETURN Nil
      }

   @ 100, 300 SAY "Error if used on DIALOG, use OWNERBUTTON"

   IF lWithDialog
      ACTIVATE DIALOG oDlg CENTER
   ELSE
      AAdd( aInitList, bCode )
   ENDIF

RETURN Nil
Praticamente o fonte inteiro virou um codeblock, executado no INIT.
Resolveu pra dialog sozinha.

Aí na tabpage ainda não, porque a referência está sendo a TAB, e não a PAGE.

Qual a diferença ?
Estou na aba da outra coisa, não na do owner button.
Ele deveria ter sumido, mas ele não está preso na PAGE.