Página 1 de 1

Ícone default pelo hbmk2

Enviado: 19 Jun 2012 21:28
por JoséQuintas
Tentei usar a opção -icon=jpa.ico, mas não deu certo.
Precisa algo mais?

No momento minha linha do hbmk2 ficou assim:
hbmk2 *.prg -workdir=c:\temp -comp=bcc -lhbtip -inc -lhbct -lhbwin -lhbziparc -lminizip -lhbmzip -ojpa -compr -gui -gtwvg -gtwin -ico=jpa.ico

*.prg = pega todos os fontes da pasta
-workdir=c:\temp = jogo todo lixo dos temporários pra pasta temp
-comp=bcc = uso compilador bcc
- inc = compilação incremental
-ojpa = como pego todos os PRGs da pasta, isto define o nome do EXE final
-compr = compacta o EXE
-gui -gtwvg -gtwin = pra usar gtwvg
-lhbtip -lhbwin -lhbct = bibliotecas adicionais
-lhbziparc -lminizip -lhbmzip = Achei esquisito, mas preciso adicionar as três pra usar compactação
-icon=jpa.ico = ainda testando, pra definir o ícone default

Com tudo isso de parâmetro, que descobri hoje, vou poder abandonar meu make (assim que descobrir sobre o ícone).
Só criei um arquivo jpa.hbp na pasta, contendo esses parâmetros um em cada linha.
O *.prg que eu procurava.... dispensa fazer manutenção em um arquivo make ao incluir/remover fontes.
Esse *.prg, não sei se acrescentaram depois, ou se fui eu que não testei antes.

Falta só o ícone default pra completar, porque atualmente no meu make uso um arquivo de resource pra isso.

Ícone default pelo hbmk2

Enviado: 20 Jun 2012 00:44
por Imatech
Olá !


Resposta disponivel em seu outro topico...



Abç...

Ícone default pelo hbmk2

Enviado: 20 Jun 2012 01:37
por JoséQuintas
Então, aparentemente a opção -icon não tem uso, ou não vale pra gtwvg

Ícone default pelo hbmk2

Enviado: 20 Jun 2012 12:51
por Jairo Maia
Olá Jose Quintas,

O executavel fica com o icone, mas na janela, pelo que sei, acho que é só usando assim:

Código: Selecionar todos

HB_GtInfo( HB_GTI_ICONFILE, "jpa.ico" )

Ícone default pelo hbmk2

Enviado: 20 Jun 2012 15:31
por JoséQuintas
Esse foi.
Só alterei pra HB_GtInfo( HB_GTI_ICONRES, "JPAICO" ).
Assim utiliza o ícone embutido no EXE.
Ao que parece, mesmo não mexendo com parte gráfica, a GTWVG permitiria usar várias janelas, o que já é interessante.
E poder incluir alguma coisa gráfica já pra uso, pode facilitar a mudança, porque já vai ser direto pra uso.

Achei esquisito que ao executar via prompt, o prompt não fica liberado, só se executar com start programa.exe
E se executar via BAT, ficam duas janelas abertas.

Por enquanto só pequenos testes, ainda analisando o comportamento.

Ícone default pelo hbmk2

Enviado: 20 Jun 2012 17:27
por Jairo Maia
Olá José,

Mas como você conseguiu fazer isso usando ICONRES?

Eu compilo o programa com o parâmetro -icon=icone.ico, o .exe assume o icone, e se uso ( HB_GTI_ICONRES, "icone.ico" ), não aparece o icone na janela. Somente se uso ( HB_GTI_ICONFILE, "icone.ico" ) ele aparece.

Poder usar o icone do executável, seria o que há, mas não consigo fazer. Isto evita enviar o icone junto com o sistema.

Não consegui fazer o que você fez. Não sei o que está errado.

Ícone default pelo hbmk2

Enviado: 20 Jun 2012 18:33
por Imatech
Necessário informar o nome atribuido ao ícone no .rc


Arquivo.prg

Código: Selecionar todos


#include "wvtwin.ch"
#include "hbgtinfo.ch"
#include "hbgtwvg.ch"
#include "wvgparts.ch"

HB_GtInfo( HB_GTI_ICONRES, "Meu_Icone" )



Arquivo.rc

Código: Selecionar todos


Meu_Icone icon icone.ico


Ícone default pelo hbmk2

Enviado: 20 Jun 2012 18:52
por JoséQuintas
É isso que ele mostrou. Criar um arquivo de resource, atribuindo um nome ao ícone.

meu arquivo jpa.rc
JPAICO icon "jpa.ico"

no hbp:
jpa.rc

E no programa, o nome será JPAICO

Ícone default pelo hbmk2

Enviado: 20 Jun 2012 21:45
por JoséQuintas
Descobri o motivo:
A janela assume o programa/BAT que foi chamado.
Se for direto ao EXE, assume o ícone do EXE, caso contrário, entra o default do BAT.
Talvez por isso necessite da rotina a mais no fonte.

Ícone default pelo hbmk2

Enviado: 21 Jun 2012 05:27
por Jairo Maia
Olá Jovemxxx,

Obrigado pela resposta, mas eu já usava assim e não dava certo, e não percebi que o que estava acontecendo foi o que o José postou. Valeu.

Olá José,
JoséQuintas escreveu:Se for direto ao EXE, assume o ícone do EXE, caso contrário, entra o default do BAT.
BINGO!!!!

Perfeito! É isso mesmo. Muito obrigado pela dica. Valeu!

E sobre essa rotina adicional, você poderia me dizer onde acho, ou poderia me passar?

Ícone default pelo hbmk2

Enviado: 21 Jun 2012 10:11
por JoséQuintas
Eu ainda não acertei isso... rs
Utilizo o BAT por causa de atualizar o sistema, e mudar o nome do EXE a cada atualização.
Desta forma consigo trocar o EXE mesmo que esteja em uso.

As opções seriam:
- Trocar o BAT por um EXE, mas acarreta em consumo extra de recursos
- Deixar o sistema em DLL, assim trocaria a DLL
- Deixar os módulos em .hrb, dll ou similar
Nestes dois últimos, o EXE principal se manteria

Inclusive às vezes fico pensando....
Se é pra cada módulo funcionar independente, em janelas separadas, um EXE separado parece se tornar interessante, mas multiplica o trabalho de compilação/instalação/tamanho em download/tamanho em disco.