HMG - Imagem BMP não carrega no arquivo Resource .RC

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por microvolution »

Tenho as seguintes imagens .BMP:

Código: Selecionar todos

splash.bmp
Tlogin.bmp
Ambos estão anexados ao .EXE através do arquivo .RC:

Código: Selecionar todos

Splashhmg	  BITMAP     I:\SISTEMA\Splash.bmp
Loginhmg            BITMAP     I:\SISTEMA\logo\TLogin.bmp
As funções/procedures que chamam as imagens são praticamente idênticas, exceto no nome delas.
A a do splash é:

Código: Selecionar todos

CreateScreenSplash ("Splashhmg", nDelaySeconds, nAnimateSeconds)
Já a do login é:

Código: Selecionar todos

LOGIN_HMG("Loginhmg")
Observem que aparentemente a forma como são acionadas as funções (ou melhor PROCEDURES) são semelhantes, exceto nos nomes e que no PROCEDURE spalsh tem mais informações.
Agora vejamos como é dentro de cada procedure, no início.
A do splash é:

Código: Selecionar todos

PROCEDURE CreateScreenSplash (cFileName, nDelaySeconds, nAnimateSeconds)
*-------------------------------------------------------------------------------------------*
   LOCAL hBitmap, Image_Width := 500 , Image_Height := 200 , Image_BackColor

   IF HMG_GetImageInfo (cFileName, @Image_Width, @Image_Height, @Image_BackColor) == .F.
       MsgHMGError ("Erro de abertura do arquivo de imagem de 'cFileName'. Programa será encerrado imediatamente." )       
   ENDIF
Já a do login, é a mesma coisa, exceto o que já dissemos, veja:

Código: Selecionar todos

PROCEDURE LOGIN_HMG (TelaLogin)
   LOCAL hBitmap, Image_Width := 450 , Image_Height := 450 , Image_BackColor := 100

   IF HMG_GetImageInfo (TelaLogin, @Image_Width, @Image_Height, @Image_BackColor) == .F.
       MsgHMGError ("Erro de abertura do arquivo de imagem de 'TelaLogin'. Programa será encerrado imediatamente." )
   ENDIF
Bom, ou melhor, mau rsrsrrs
O primeiro procedure CREATESCREENSPLASH () funciona perfeitamente.

Já o segundo que é o LOGIN_HMG() não funciona e, apresenta o erro descrito na linha que contém:

Código: Selecionar todos

       MsgHMGError ("Erro de abertura do arquivo de imagem de 'TelaLogin'. Programa será encerrado imediatamente." )
Se eu colocar no início do módulo que chama a LOGIN_HMG() a seguinte expressão:

Código: Selecionar todos

#define Loginhmg                 hb_DirBase() + "logo\TLogin.bmp"

e se modificar a chamada (tirando as "aspas") ao procedimento, para:

Código: Selecionar todos

LOGIN_HMG(Loginhmg)
... aí, com as 2 alterações funciona.
Só funciona dessa forma, mas pra isso, a imagem TLOGIN.BMP precisa estar na pasta LOGO, não fica indexada dentro do .EXE.
O que faço pra resolver ou onde está o "erro óbivio" que não consigo ver?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por JoséQuintas »

Primeiro ponto importante:

Precisa decidir se vai usar a IDE ou não, infelizmente a IDE tem bugs, e obriga a fazer coisas que NÃO SÃO do Harbour.
Até mesmo os BATs de compilação fazem isso.

Segundo ponto:

O problema é: tentando usar resource

O que interessa:

Não sei ao certo o problema, mas que tal criar uma ou duas funções e já facilitar resolver apenas num único lugar?

Código: Selecionar todos

FUNCTION LoadImageFromResource( cNome, nWidth, nHeight, nBackColor )
FUNCTION LoadImageFromFile( cNome, nWidth, nHeight, nBackColor )
A partir daí, se uma funciona e outra não.... então tem a ver com a informação errada, ou imagem incompatível.
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/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por microvolution »

JoséQuintas escreveu:Precisa decidir se vai usar a IDE ou não, infelizmente a IDE tem bugs, e obriga a fazer coisas que NÃO SÃO do Harbour.
já tentei, mas, não consegui me adaptar bem aos BATs, pois se a IDE já facilita pra que vou arrumar mais confusão. Alguns vão até dizer que é preguiça... não. não tem nada a ver. Mas, preciso melhorar um pouco meu sistema pra sim tentar revender pra alguém que ainda não tenha informatizado, e, com facilidade e rapidez, pois afinal,
já se passaram 5 anos desde que comecei a migração e ainda estou muito agarrado... não posso ficar mais perdendo tempo, pois o que eu fizer daqui pra frente, não "GANHO" tempo e sim "perco" TEMPO, pois ninguém quer mais programas instalados em DESKTOP e sim WEB e CELULAR e ainda, na nuvem.
JoséQuintas escreveu:O problema é: tentando usar resource
como assim? se foi o nobre quem me deu a dica e me ensinou o pouco que sei sobre .RC?
JoséQuintas escreveu: FUNCTION LoadImageFromResource( cNome, nWidth, nHeight, nBackColor )
FUNCTION LoadImageFromFile( cNome, nWidth, nHeight, nBackColor )
Qual finalidade de 2 funções fazendo a mesma coisa, só que com nomes diferentes?
qual o conteúdo delas?

Código: Selecionar todos

FUNCION xxx()
????
return
grato!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por JoséQuintas »

Não uso a lib, então o máximo que posso fazer é recomendar.
Tem lib que pra carregar do resource é diferente de carregar do arquivo, não dá pra usar mesma função.
E se acrescentar parâmetros pra isso, poderia estar complicando.
microvolution escreveu:já tentei, mas, não consegui me adaptar bem aos BATs, pois se a IDE já facilita pra que vou arrumar mais confusão.
Eu odeio todos aqueles BATs, principalmente por saber que não precisa de nenhum.
Mas se usa pela IDE... só precisa saber sobre usar pela IDE.

Voltando à LIB....
Só venho mexendo na parte de compilar, ou corrigir erros de compilação, não faço a menor idéia como se usa.
Só aproveito às vezes algum post pra fazer o teste aqui, se a LIB continua funcionando como deveria, após minhas "mexidas".

Mas em breve volto a colocar a HMG Fork no pacotão...
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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por asimoes »

Tinha um bug na versão de 20/12 que foi resolvido na versão 21/01
Ainda é versão beta, mas resolveu o problema de image list quando usa imagem no menu, pelo menos essa atualização resolveu, não sei no seu caso
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por microvolution »

asimoes escreveu:Tinha um bug na versão de 20/12 que foi resolvido na versão 21/01
uso a HMG 3.5 do Roberto Lopez e não a HMGE ou HMEE rsrsrsrs
nem tenho noção de como funciona, apesar de já ter tentado compilar, vi q os comandos/funções tem algumas diferenças, q não quis pagar pra ver - ainda... quem sabe... mais pra frente ....
primeiro, resolver os problemas que temos... botar, a pasta debaixo dos braços, pendrive no bolso (pra cliente que não tenha acesso a internet), procurar quem ainda não informatizou, e, instalar nosso software com visual WINDOWS (primeira impressão é a que fica)... pra gente não precisar "vender pipoca" - como algum engraçadinho sugeriu um tempo atrás kkkk
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por microvolution »

JoséQuintas escreveu:Até mesmo os BATs de compilação fazem isso.
tô aqui tentando então, em respeito à sua pessoa que sempre tem atenção para com "euzinho" aqui...
vamo ver até onde consigo decifrar as mensagens de erro sem incomodar tanto aos amigos professores!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por microvolution »

Interessante que as imagens carregadas pra serem usadas no pushbutton() da gtwvg dentro da hmg funcionaram, mas, logo as 2 imagens que deram usadas na IMAGE da HMG não carregaram... Quem sabe resolver?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
marcosLP
Usuário Nível 1
Usuário Nível 1
Mensagens: 47
Registrado em: 13 Nov 2020 10:24
Localização: guarpauava/pr

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por marcosLP »

me metendo onde não fui chamado...quando eu uso BMP´s (raramente prefiro PNG) eu os faço com minimo de resulução possivel sem perder claro a qualidade. E só uso para janelas, botões, etc...menos de uma tela inteira ou um botão muito grande seja em rede ou ShareWorkArea (windows 7, 10, e linux) pois o .RC não carrega arquivos muito grandes. Seria bom é claro que o fizesse porém prefiro levar por ex: uma janela que criado em formato PNG(ou BMP) bem grande numa pasta interna e o sistema a pegar cfe. programação, assim evita sobrecara de memória e sem se preocupar que alguem via lá e mexa na imagem, tanto faz assim eu cobro para refazer as cag...que eles fizeram...simples assim.
abraços
ps: nunca use IDE´s para isso, aprendam a fazer tudo na unha ou automatizar vcs mesmos com seus recursos afinal somos programadores e nossa função é melhorar a nossa propria produção.

anexo: imagem em formato PNG do 4Shields (linka para baixar no grupo minigui do facebook).
Anexos
face130975821_731573427792734_2131475574180541277_n.jpg
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG - Imagem BMP não carrega no arquivo Resource .RC

Mensagem por microvolution »

marcosLP escreveu:programação, assim evita sobrecara de memória e sem se preocupar que alguém via lá e mexa na imagem
, pois bem, é assim que estou fazendo com as 2 imagens (tela de login - meia tela e tela de splash), até a gente conseguir reduzir o tamanho delas sem perder qualidade.

Todas as outras imagens estão carregadas pra dentro do .EXE (sistema final), mas, essas 2 que não estão sendo carregadas pelo .RC, eu criei uma pasta e elas estão sendo carregadas manualmente. rsrsrs

Meu nobre professor MarcosLP pela sua contribuição.
Agora,
marcosLP escreveu:anexo: imagem em formato PNG do 4Shields (linka para baixar no grupo minigui do facebook).
essa imagem é do seu sistema ou de algum programa para compressão das imagens? onde é este link do minigui do facebook?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Responder