Clipper On Line • Ver Tópico - Programa abrindo janela console extra

Programa abrindo janela console extra

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

Moderador: Moderadores

 

Programa abrindo janela console extra

Mensagempor JoséQuintas » 22 Set 2011 00:04

Estou começando a tentar sair da tela console, mas estou com um pequeno problema:
O programa abre normalmente em janela windows, mas abre uma janela console extra.
Alguém sabe o que pode estar errado?
HB 3.0, e BCC 5.5

No fonte:
Function HB_GTSYS()
REQUEST HB_GT_WVG_DEFAULT
REQUEST HB_GT_WVG
Return NIL

Compilação:
harbour jpa.prg -n -m -z -w0 -i\hb30\include
bcc32 -OS -d -c -I\hb30\include; -L\hb30\lib; jpa.c

Linquedição:
ilink32 @jpa.lnk

jpa.lnk:
-Ld:\hb30\lib\win\bcc\obj;d:\hb30\lib\win\bcc;d:\bcc55\lib;d:\bcc55\lib\psdk -Gn -Tpe -aa +
\hb30\lib\win\bcc\c0w32.obj +
jpa.obj +
, +
jpa.exe,,+
gtwvg.lib hbwin.lib png.lib hbextern.lib hbdebug.lib hbvm.lib hbrtl.lib hblang.lib hbcpage.lib +
gtcgi.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib gtgui.lib hbrdd.lib hbuddall.lib hbusrrdd.lib +
rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbmacro.lib hbcplr.lib hbpp.lib hbcommon.lib +
kernel32.lib user32.lib gdi32.lib advapi32.lib ws2_32.lib winspool.lib comctl32.lib comdlg32.lib +
shell32.lib uuid.lib ole32.lib oleaut32.lib mpr.lib winmm.lib mapi32.lib imm32.lib msimg32.lib +
wininet.lib hbpcre.lib hbzlib.lib cw32mt.lib import32.lib +
rddado.lib hbziparc.lib hbmzip.lib hbct.lib minizip.lib +
,, jpa.res +
;
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Programa abrindo janela console extra

Mensagempor sygecom » 22 Set 2011 00:15

Tente acrescentar antes do FUNCTION MAIN() a linha abaixo:
REQUEST HB_GT_GUI_DEFAULT
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Programa abrindo janela console extra

Mensagempor JoséQuintas » 22 Set 2011 10:59

Legal, isso não deu certo, mas ajudou a resolver.
Repeti as mesmas coisas de GTSYS e funcionou

request HB_GT_WVG
request HB_GT_WVG_DEFAULT

Colocando o HB_GT_GUI_DEFAULT, acabou deixando o programa zumbi, apenas ficou na lista de tarefas do windows.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Programa abrindo janela console extra

Mensagempor JoséQuintas » 22 Set 2011 12:58

Quanto mais eu mexo nessa parte de GUI, menos eu entendo....
Agora estou tentando voltar a console, retirei todas as partes que havia acrescentado nos fontes, e continua GUI, sem tela adicional de console
Vai entender... rs
Quero deixar a parte gráfica pro final, mas não resisto em mexer um pouco.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Programa abrindo janela console extra

Mensagempor asimoes » 22 Set 2011 13:27

Dá uma olhada no seu projeto (scirpt) se não há nenhuma referencia a lib gráfica e se existe a instrução -gtgui (tem que remover)
►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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Programa abrindo janela console extra

Mensagempor Abel » 16 Mar 2012 15:52

Jose Quintas,
estou com o mesmo problema que vc teve da janela extra.
estou usando a gtwvt,
como vc resolveu ?

desde ja agradeco.
Abel
Abel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 310
Data de registro: 14 Mar 2012 13:16
Cidade/Estado: sao paulo / sp
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Programa abrindo janela console extra

Mensagempor Pablo César » 16 Mar 2012 16:59

Abel não sei se é o seu caso, mas eu tenho utilizado:

REQUEST HB_GT_WIN_DEFAULT

Antes do Function Main e compilado através da HMG, inclusive aquele exemplo que postei no seu tópico foi compilado pela IDE da HMG para que pudesse ser em modo console.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Programa abrindo janela console extra

Mensagempor Abel » 18 Mar 2012 22:23

Pablo, para este comando qual biblioteca devo colocar no meu hbp ou qual include no meu prg.

coloquei e abriu apenas uma janela , mas o comando abaixo deixou de funcionar .
estou fazendo uns testes de tipo de letra para melhorar um pouco o visual do sistema (texto / modo console)

para funcionar a selecao de letra coloquei
REQUEST hb_gt_wvt_default

rN_OPCAO=ALERT2('AZUL','ESCOLHA O TIPO DE LETRA',{"$COURIER NEW","$Lucida Console"})
IF rN_OPCAO=1
   HB_GTINFO( HB_GTI_FONTNAME, "Courier New" )   
ELSE   
   HB_GTINFO( HB_GTI_FONTNAME, "Lucida Console")
ENDI
Abel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 310
Data de registro: 14 Mar 2012 13:16
Cidade/Estado: sao paulo / sp
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Programa abrindo janela console extra

Mensagempor Pablo César » 19 Mar 2012 09:34

Oi Abel,

O exemplo que eu dei é porque o Harbour não tem embutido uma interface gráfica para o WinAPI. Você vai precisa adicionar uma biblioteca gráfica tais como HWGUI ou MiniGUI para passar seu aplicativo modo console para um ambiente gráfico WinAPI. Leia este artigo: http://patondata.com/harbour/gt.htm

A minha opinião é que se você deseja um aprimoramento visual utilize um ambiente gráfico, mas a programação é totalmente diferente. Desenvolver em modo console, só pode ser uma grande vantagem quando você se vê na necessidade de migrar seu sistema rapidamente para 32 bits. No ambiente GUI você não vai precisar controlar todos as ações do mouse nem ficar brigando com o mouse na sua tela, nesse ambiente já vem esse controle intrínseco. Por isso aconselho a mudar para uma programação gráfica.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Programa abrindo janela console extra

Mensagempor Abel » 20 Mar 2012 00:30

Vou ler a materia que vc me passou, quanto a mudar meu sistema, realmente preciso com urgencia, tenho clientes adquirindo maquinas win7 64 bits e por isso to sendo obrigado a deixar o clipper e passar para o harbour, o que eu estou querendo é aproveitar e ja incrementar alguns recursos que o harbour dispoe mesmo sendo modo console.
Para utilizar uma interface grafica nao da para usar a IDE HBIDE , tem que ser a IDE do Roberto Bastos para desenhar as telas ?

Nao imagino nem por onde comecar para fazer em modo grafico ..., mas com certeza mais para frente vou me dedicar a isso ...

Valeu !!!
Abel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 310
Data de registro: 14 Mar 2012 13:16
Cidade/Estado: sao paulo / sp
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Programa abrindo janela console extra

Mensagempor Pablo César » 20 Mar 2012 08:34

Para utilizar uma interface grafica nao da para usar a IDE HBIDE , tem que ser a IDE do Roberto Bastos para desenhar as telas ?
Eu não conheço a IDE do Roberto Bastos. Tanto para ambiente gráfico como para o modo console, eu utilizo o HMG de Roberto Lopez, mas também utilizo o HMG Extended (MiniGUI) do Grigory Filatov.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Programa abrindo janela console extra

Mensagempor Abel » 16 Abr 2012 12:33

Ola pessoal, ainda nao consegui eliminar a janela extra,
estou usando harbour nigthy modo console.

alguem poderia mostrar quais comando e/ou procedure foram colocadas no fonte para a compilacao ?

Grato,
ABEL
Abel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 310
Data de registro: 14 Mar 2012 13:16
Cidade/Estado: sao paulo / sp
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Programa abrindo janela console extra

Mensagempor Abel » 05 Jun 2012 21:21

Como sou novo e este forum tem me ajudado muito nestes meus primeiros passos de clipper para harbour e ainda compilando com -gui, segue mais uma questao.

o Problema de abrir 2 janelas quando executo o programa foi resolvido, mas eu descobri que so esta resolvido se eu recriar o atalho q o cliente tinha no windows, senao, continua abrindo 2 janelas.

antes o cliente tinha um atalho para um programa msdos em clipper
exemplo: c:\system\programa\programa.exe
este programa.exe é nome em clipper e tambem é o nome em harbour console compilado com -gui

se eu atualizar a versao do cliente e utilizar o atalho q ja estava criado, vai abrir duas janelas, uma msdos e a outra do programa q foi recompilado com harbour, se eu excluir o atalho e criar um novo atalho para
c:\system\programa\programa.exe vai abrir apenas uma janela.

eu queria que isso fosse automatico evitando recriar os atalhos, sera que alguem sabe se isso é possivel ?
vale dizer que ate as propriedades dos 2 atalhos sao diferentes ja que uma tem cara te atalho msdos nas propriedade e a outra nao.

Abracos,
ABEL
Abel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 310
Data de registro: 14 Mar 2012 13:16
Cidade/Estado: sao paulo / sp
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Programa abrindo janela console extra

Mensagempor sygecom » 06 Jun 2012 12:49

Olá Abel,
Eu passei por isso quando migrei meus aplicativos de CLIPPER para xHarbour, e geralmente os usuários criavam um atalho com um nome do próprio EXE ou com nome de SISTEMA, então eu fiz o sistema quando entrar verificar se tinha o novo atalho na Área de trabalho do usuário e procurar pelos antigos nomes e excluir. Claro que tive que abrir mão do antigo nome que se usava no atalho apenas o nome do EXE mantive o mesmo, mudança pequena como colocar um PONTO no final do nome para diferenciar o atalho novo do velho.

Veja como usava chamando apenas função: CRIAR_ATALHO_NOVO() , na próxima vez que ele entrar no sistema já estava com o ícone novo. Se esqueci de algo me fale...

***************************
FUNCTION CRIAR_ATALHO_NOVO
***************************
Local aShortCut, oWSHShell
Local cPATH_DESKTOP:=GETENV('HOMEDRIVE')+GETENV('HOMEPATH')+'\Desktop'

Local aATALHOS1 := cPATH_DESKTOP+'\*.lnk" // todos os atalhos da area de trabalho
Local aATALHOS2 := Directory(aATALHOS1), nI

Local lREINICIA:=.F.

FOR nI = 1 TO LEN(aATALHOS2)
   IF UPPER(aATALHOS2[nI,1])='SISTEMA.LNK'  // aqui vai todos os nomes provaveis do antigo icone
      Ferase(cPATH_DESKTOP+'\'+aATALHOS2[nI,1])
      lREINICIA:=.T.
   ENDIF
NEXT

IF FILE(cPATH_DESKTOP+'\Novo_sistema.lnk') // se já existe o nome nem precisa fazer nada
   RETURN .T.
ENDIF

IF !MsgYesNo('Não foi localizado o Icone na area de Trabalho para o Sistema, Deseja Criar Agora ?')
   RETURN .F.
ELSE
   lREINICIA:=.T.
ENDIF

TRY
   oWSHShell:= CreateObject("WScript.Shell")
CATCH error
   ShowMsg('Não foi possivel criar o icone na area de trabalho, Favor revisar')
   RETURN .F.
END

IF IsDirectory(cPATH_DESKTOP) = .F.
   Release oWSHShell
   ShowMsg('Não foi possivel criar o icone na area de trabalho, Favor revisar')
   RETURN .F.
ENDIF
aShortCut:= oWSHShell:CreateShortcut(cPATH_DESKTOP+'\Novo_sistema.lnk')
aShortCut:TargetPath       := CAMINHO_EXE()+'\'+ Nomeexecutavel() //GETENV("HOMEDRIVE")+GETENV("HOMEPATH")+"\Desktop"
aShortCut:WorkingDirectory := CAMINHO_EXE()+'\'
//aShortCut:IconLocation     := "Z:\"+ Nomeexecutavel() //icone do sistema
aShortCut:Save()
Release oWSHShell

IF !FILE(cPATH_DESKTOP+'\Novo_sistema.lnk')
   ShowMsg('Não foi possivel criar o icone na area de trabalho, Favor revisar')
   Return .F.
ENDIF
IF lREINICIA
   MYRUN(Nomeexecutavel())  // ABRE O SISTEMA NOVAMENTE APARTIR DO EXE E NÃO PELO ATALHO
   QUIT // AQUI FECHA O APLICATIVO ATUAL
ENDIF
Return .T.

********************************************************************************
***********VEREFICA O NOME DO EXECUTAVEL E O CAMINHO DO MESMO*******************
*NomeExecutavel()    // verefica o nome
*NomeExecutavel(.t.) // verefica o caminho
********************************************************************************
FUNCTION NOMEEXECUTAVEL(lPath)
LOCAL nPos, cRet
If Empty(lpath)
   nPos:= RAT("\", hb_argv(0))
   cRet:= substr(hb_argv(0), nPos+1)
else
   cRet:= hb_argv(0)
endif
Return cRet
********************
*Retorna o caminho do EXE
FUNCTION CAMINHO_EXE
Return(Substr(Nomeexecutavel(.t.),1,(len(Nomeexecutavel(.t.))- len(Nomeexecutavel()))-1 ))
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Programa abrindo janela console extra

Mensagempor Abel » 06 Jun 2012 20:10

Valeu, vou tentar e te aviso se deu certo,

desde ja agradeco.
ABEL
Abel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 310
Data de registro: 14 Mar 2012 13:16
Cidade/Estado: sao paulo / sp
Curtiu: 1 vez
Mens.Curtidas: 2 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro