Página 1 de 1
Tela Preta quando usa o "request hb_gt_wvt_default"
Enviado: 09 Jul 2016 11:06
por lugab
Bom dia, pessoal
Assim que o programa executa a linha
no Main() de um programinha pra Testar o MessageBox(), surge logo uma tela preta por detrás da Tela oficial do Menu, o que inviabiliza o uso ...
Tem como usar o MessageBox() num programa console e se livrar dessa tela Preta
Eu compilo com HB 3.0 + Borland C++ + gtwvg.lib , gtwvt.lib e gtwin.lib \
TesteMsg.prg
Código: Selecionar todos
** Teste de Msgs
#include "hbgtinfo.ch"
#include "inkey.ch"
#include "set.ch"
#include "box.ch"
#include "common.ch"
Procedure Main()
request hb_gt_wvt_default
request hb_lang_pt
request hb_codepage_pt850
HB_GtInfo( HB_GTI_FONTNAME, "Lucida Console" )
HB_GtInfo( HB_GTI_WINTITLE, "Programa teste de Msg" )
HB_GtInfo( HB_GTI_CLOSABLE, .F. )
HB_GtInfo( HB_GTI_RESIZABLE, .t. )
HB_GtInfo( HB_GTI_MAXIMIZED, .F. )
HB_GtInfo( HB_GTI_ISFULLSCREEN, .F. )
HB_GtInfo( HB_GTI_FONTSIZE, 28 )
HB_GtInfo( HB_GTI_FONTWIDTH, 12 )
set eventmask to 1002
setmode(25,80)
MsgYesno("Teste de Mensagem-01")
return
*-----------------------------------
FUNCTION MsgYesNo( cText )
*------------------------------------
LOCAL lValue
lValue := wapi_MessageBox( wapi_GetActiveWindow(), cText, "Confirmacao", WIN_MB_YESNO + WIN_MB_ICONQUESTION + WIN_MB_DEFBUTTON1 ) == IDYES
RETURN lValue
Tela Preta quando usa o "request hb_gt_wvt_default"
Enviado: 09 Jul 2016 11:47
por JoséQuintas
request hb_gt_wvt_default
Eu compilo com HB 3.0 + Borland C++ + gtwvg.lib , gtwvt.lib e gtwin.lib
Tem como usar o MessageBox() num programa console e se livrar dessa tela Preta
Tá fazendo uma grande confusão.
Tá definindo como padrão a GTWVT, usando a GTWVG, e dizendo que está usando CONSOLE.
Se isso for verdade, seu aplicativo vai ter TRÊS janelas: GTWVT, GTWVG e CONSOLE.
Se tem três janelas, duas vão ficar pretas.
Tela Preta quando usa o "request hb_gt_wvt_default"
Enviado: 09 Jul 2016 11:53
por JoséQuintas
Devido às mudanças do Harbour 3.2, veja se é possível atualizar seu Harbour.
Tem a normal 3.2, e tem a do Viktor 3.4.
A 3.0 pode te acostumar a usar coisas que não existem mais, ou que foram modificadas depois.
E pode complicar pra alguém te ajudar, porque o comportamento pode ser diferente.
Tela Preta quando usa o "request hb_gt_wvt_default"
Enviado: 09 Jul 2016 12:00
por JoséQuintas
Só um complemento:
Código: Selecionar todos
FUNCTION MsgYesNo( cText )
LOCAL lValue
lValue := wapi_MessageBox( wapi_GetActiveWindow(), cText, "Confirmacao", WIN_MB_YESNO + WIN_MB_ICONQUESTION + WIN_MB_DEFBUTTON1 ) == IDYES
RETURN lValue
Aí está usando a MessageBox() vinculada à janela atual
Significa que obrigatoriamente tem que existir a janela do aplicativo, por isso a tela preta.
Esse é o uso normal dentro do aplicativo.
Se precisar usar antes da tela do aplicativo, ao invés de wapi_GetActiveWindow(), utilize 0 (ZERO).
Desse jeito ela não depende de existir tela, mas não serve pra usar dentro de uma janela do aplicativo.
Código: Selecionar todos
Procedure Main
LOCAL x
x = MsgYesno("Teste de Mensagem-01")
return
FUNCTION MsgYesNo( cText )
LOCAL lValue
lValue := wapi_MessageBox( 0, cText, "Confirmacao", WIN_MB_YESNO + WIN_MB_ICONQUESTION + WIN_MB_DEFBUTTON1 ) == IDYES
RETURN lValue
Tela Preta quando usa o "request hb_gt_wvt_default"
Enviado: 09 Jul 2016 13:07
por Jairo Maia
Olá Pessoal,
lugab, acrescente o parâmetro -gui na linha de comando ou no arquivo .Hbp que a janela console não aparecerá.
Tela Preta quando usa o "request hb_gt_wvt_default"
Enviado: 10 Jul 2016 01:19
por lugab
Obrigado José Quintas...
No sistema ofcial ( não nesse pequeno prog.teste) , quando retiro o gtwin.lib, o hbrtl.lib acusa a falta de um monte de funções durante a compilação.
E quando retiro o hbrtl.lib, a compilação acusa mais erros ainda. Ou seja. não da pra tirar o gtwin.lib
Obrigado, Jairo,...
Não consgui usar o
-gui e tb não uso .HBP (na verdade eu não sei usar) na compilação. Eu compilo com MAKE -f PROGRAMA.BC. Ao acrescentar o parametro
-gui em duas tentativas, surgiram os erros abaixo, portanto, o MAKE não comporta esse parâmetro...
Tentativa 1
Código: Selecionar todos
D:\max\ESTCDX>make -f -gui EstCdx.bc
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
Fatal: Unable to open makefile
D:\max\ESTCDX>DEL *.MAP
D:\max\ESTCDX>DEL *.PPO
D:\max\ESTCDX>DEL *.TDS
D:\max\ESTCDX>DEL *.OBJ
D:\max\ESTCDX>DEL *.C
Tentativa 2
Código: Selecionar todos
D:\max\ESTCDX>make -f EstCdx.bc -gui
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
Incorrect command line argument: -gui
Syntax: MAKE [options ...] target[s]
-B Builds all targets regardless of dependency dates
-Dsymbol[=string] Defines symbol [equal to string]
-Idirectory Names an include directory
-K Keeps (does not erase) temporary files created by MAKE
-N Increases MAKE's compatibility with NMAKE
-Wfilename Writes MAKE to filename updating all non-string options
-Usymbol Undefine symbol
-ffilename Uses filename as the MAKEFILE
-a Performs auto-dependency checks for include files
-c Caches auto-dependency information
-e Ignores redefinition of environment variable macros
-i Ignores errors returned by commands
-l+ Enables use of long command lines
-m Displays the date and time stamp of each file
-n Prints commands but does not do them
-p Displays all macro definitions and implicit rules
-q Returns zero if target is up-to-date and nonzero
if it is not (for use in batch files)
-r Ignores rules and macros defined in BUILTINS.MAK
-s Silent, does not print commands before doing them
-? or -h Prints this message
Options marked with '+' are on by default. To turn off a default
option follow it by a '-', for example: -a-
Tela Preta quando usa o "request hb_gt_wvt_default"
Enviado: 11 Jul 2016 07:29
por asimoes
Confirmo o que o Quintas explicou, da versão 3.0 passando pela 3.2 até 3.4 acho até que esta última versão deva ser a mais usada, muita coisa mudou, e fica difícil orientar alguma solução, eu mesmo não uso mais bcc, uso somente a 3.4 com mingw para harbour, hwgui e minigui extended.