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

Código: Selecionar todos

request hb_gt_wvt_default
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.