Tela Preta quando usa o "request hb_gt_wvt_default"

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Tela Preta quando usa o "request hb_gt_wvt_default"

Mensagem 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

lugab
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tela Preta quando usa o "request hb_gt_wvt_default"

Mensagem 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.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tela Preta quando usa o "request hb_gt_wvt_default"

Mensagem 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.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Tela Preta quando usa o "request hb_gt_wvt_default"

Mensagem 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
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
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Tela Preta quando usa o "request hb_gt_wvt_default"

Mensagem 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á.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Tela Preta quando usa o "request hb_gt_wvt_default"

Mensagem 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-
lugab
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Tela Preta quando usa o "request hb_gt_wvt_default"

Mensagem 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.
►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)
Responder