HMG - Imagem BMP não carrega no arquivo Resource .RC
Enviado: 05 Jan 2021 15:50
Tenho as seguintes imagens .BMP:
Ambos estão anexados ao .EXE através do arquivo .RC:
As funções/procedures que chamam as imagens são praticamente idênticas, exceto no nome delas.
A a do splash é:
Já a do login é:
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 é:
Já a do login, é a mesma coisa, exceto o que já dissemos, veja:
Já o segundo que é o LOGIN_HMG() não funciona e, apresenta o erro descrito na linha que contém:
Se eu colocar no início do módulo que chama a LOGIN_HMG() a seguinte expressão:
e se modificar a chamada (tirando as "aspas") ao procedimento, para:
... 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.
Código: Selecionar todos
splash.bmp
Tlogin.bmp
Código: Selecionar todos
Splashhmg BITMAP I:\SISTEMA\Splash.bmp
Loginhmg BITMAP I:\SISTEMA\logo\TLogin.bmpA a do splash é:
Código: Selecionar todos
CreateScreenSplash ("Splashhmg", nDelaySeconds, nAnimateSeconds)Código: Selecionar todos
LOGIN_HMG("Loginhmg")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
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
O primeiro procedure CREATESCREENSPLASH () funciona perfeitamente.Bom, ou melhor, mau rsrsrrs
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." )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)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?