Usar GTWVG

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

Moderador: Moderadores

Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Usar GTWVG

Mensagem por janio »

2 - no Delphi não consegui usar o banco de dados dbf/ntx, pois lá não é nativo esse tipo de tabela de index. Lá é dbf/cdx. E dbf/cdx achei muito complexo, apesar que um professor daqui do fórum, me foi muito gentil e bem paciente em tentar me ensinar, mas, também percebi que terei que mexer muita coisa no meu código.
Migao, lhe convido a dar uma olhada no windev. Estou ha apenas 2 meses usando windev, mas foi o suficiente para eu estar maravilhado hehehe. Mais fácil e semelhante ao nosso xbase... impossível. Acesso a qualquer banco de dados nativamente, inclusive a dbf.

Imaginaí programar em 3 plataformas diferentes (desktop, mobile e web) da mesma forma, só isso já eh de encher os olhos
;-*


Da uma olhada no tópico abaixo
viewtopic.php?f=5&t=18699
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Usar GTWVG

Mensagem por microvolution »

janio escreveu:Migao, lhe convido a dar uma olhada no windev
WINDEV?
é outra linguagem opensource?
vou dar uma olhadinha de curiosidade. Não custa nada. Mas, sem compromisso ainda, pois senão, a gente desfoca do que já temos feito nos últimos 3 anos.
Uffa... como o tempo passa!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Usar GTWVG

Mensagem por microvolution »

boa tarde!
não sei o q fiz, mas, de uma outra pra outra começou a dar o erro na minha compilação:

Código: Selecionar todos

Called from WVG_IMAGE(0)
Called from MAIN(247) in G:\MVinfo\MIGRAR\SiCCA\SiCCA3604\sci10000\pci10000.prg
a linha 247 é esta:

Código: Selecionar todos

  Wvg_Image     ( 10 , 10 , 20 , 60 ,  , GOBJ_IMAGESOURCE_FILE, Splash , , .f. )
obs.:
minha compilação é feita de dentro da HMG/IDE 3.4.4 e a aba CONFIGURAÇÃO tem as seguintes informações:

Código: Selecionar todos

incpaths=
libpaths=
libs=gtwvg.hbc HBWIN.HBC HBCT.HBC hbnf.hbc xhb.hbc
gt=gtwvg
instpaths=
vlw!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Usar GTWVG

Mensagem por JoséQuintas »

não sei o q fiz, mas, de uma outra pra outra começou a dar o erro na minha compilação:
Isso não é erro de compilação, é erro durante a execução.

Faltou o principal: qual a mensagem de erro?
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/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Usar GTWVG

Mensagem por microvolution »

JoséQuintas escreveu:Faltou o principal: qual a mensagem de erro?
é só aquilo mesmo que apresenta e mais nada.
aí o sistema apresenta a mensagem preta abaixo na tela e em seguida a mensagem do windows dizendo "este programa será fechado e enviaremos uma solução se a Microsoft descobrir"↓.
microvolution escreveu:Expandir visualizacaoVer codigo
1 Called from WVG_IMAGE(0)
2 Called from MAIN(247) in G:\MVinfo\MIGRAR\SiCCA\SiCCA3604\sci10000\pci10000.prg
3  
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Usar GTWVG

Mensagem por microvolution »

pesquisando aqui descobri o seguinte link (em inglês): http://patondata.com/harbour/gt.htm vi umas curiosidades bem interessantes.
a hb_gt_sys está lá sugerida assim:
THE DEFAULT
===========
By default, Harbour will select the gtwin.lib. All GT commands will
then be executed through the functions in the gtwin.lib, which outputs
them to a WinXP console. Also, the next command pair are automatically
included in your Harbour app. You do not need to put in your program.

Código: Selecionar todos

      ANNOUNCE HB_GT_SYS
      REQUEST HB_GT_WIN_DEFAULT
ALTERNATE TERMINAL DRIVERS
==========================
To use an alternate driver, put these commands at the top of your
main harbour prg file. For example, to use the gtwvt.lib, which creates
a real WinAPI window for the output (rather than a simple console
window), use the following commands.

You must also include the gtwvt.lib on your bcc32 Link link in your
bld.bat (it can either replace or go next to gtwin.lib).

Código: Selecionar todos

      ANNOUNCE HB_GT_SYS
      REQUEST HB_GT_WVT_DEFAULT
...e assim sucessivamente.
nenhuma das opções acima faz funcionar...
...mas um dos exemplos me deixou intrigado:

Código: Selecionar todos

 /*** t.prg, Test of mixing terminal drivers ***/

      ANNOUNCE HB_GT_SYS
      REQUEST HB_GT_GUI_DEFAULT
      REQUEST HB_GT_WIN
      REQUEST HB_GT_WVT

      FUNCTION MAIN()
         ? HB_GTVERSION(), HB_GTVERSION(1)
         TONE( 200, 3)
         TONE( 300, 3)
         TONE( 500, 3)
         INKEY( 5 )
      RETURN NIL

      /* end */
O autor, sugere que a gente execute o exemplo (após compilação) do T.EXE pelo CMD (ou .BAT) da seguinte forma:
t
t //GTWIN
t //GTWVT
Bom, então resolvi testar no meu aplicativo as opções sugeridas:
//GTWIN ou //GTWVT e acrescentei mais uma uma:
SICCA3604 //GTWVG (que não foi sugerido)
e aí o meu sistema voltou a funcionar.
O Quintas, sabe o que está faltando nos meus .PRGs pra voltar funcionar automaticamente?
já coloquei o código bem no início do .PRG MAIN:

Código: Selecionar todos

  ANNOUNCE HB_GT_SYS
  REQUEST HB_GT_WVG_DEFAULT
  REQUEST HB_GT_WVG
Mas, infelizmente não funciona sozinho. Só funciona se executar o .EXE pelo CMD da seguinte forma:
C:\>SICCA3604 //GTWVG
???
:%
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Usar GTWVG

Mensagem por microvolution »

só pra constar:
compilo de dentro do IDE/HMG 3.4.4 a compilação usando a lib GTWVG.
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Usar GTWVG

Mensagem por microvolution »

uma coisa que pude notar:

Código: Selecionar todos

  ANNOUNCE HB_GT_SYS
  REQUEST HB_GT_WVG_DEFAULT
  REQUEST HB_GT_WIN
  REQUEST HB_GT_WVT
  REQUEST HB_GT_WVG
Se eu colocar o GT_WVG por último aí funciona automaticamente.
Mas, aproveitando o ensejo, tem como alterar isso em modo de execução?
ou seja, alguns módulos funcionar WVG e outros WIN, já outros com a WVT?
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Usar GTWVG

Mensagem por JoséQuintas »

GTWIN não tem sentido, uma vez que a GTWVG ou GTWVT podem substituir o console.

Pode ou não indicar no fonte, mas convém declarar pelo menos a default.
Não lembro se precisa das duas declarações.

Código: Selecionar todos

PROCEDURE HB_GTSYS
   REQUEST HB_GT_WVG
   REQUEST HB_GT_WVG_DEFAULT
   RETURN
Lembro de um comentário seu de misturar Harbour 3.2 e Harbour 3.4
Isso não pode, vai ter o problema do Harbour diferente, e provavelmente do compilador C diferente.
Ou usa Harbour 3.2 ou usa Harbour 3.4

Isso é muito diferente de misturar LIBs, aonde as LIBs são compiladas com mesmo Harbour e mesmo compilador C.
É ter problemas imprevisíveis, e a nível de C...
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/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Usar GTWVG

Mensagem por microvolution »

show...
descobri mais um link muito completo, só que mesmo, fazendo o cadastro básico pra ter acesso a todo o conteúdo grátis por 30 dias tem que pagar 9 US$.
O link é: https://pt.scribd.com/document/35584840 ... Harbour-GT
Mas, parece que lá tem umas explicações bem interessantes sobre HARBOUR GT.
Abraços!
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Usar GTWVG

Mensagem por clodoaldomonteiro »

Bom dia a todos,

Reativando o POST, estou mudando de xHarbour 1.00 + GTWVW para Harbour 3.4 MinGW + GTWVG e o que senti falta agora é de já abrir a janela principal Maximizada e tendo assim o máximo de Row's e Col's para trabalhar as janelas.

A função chamada para isso é a WVT_MAXIMIZE(), mas ela não está fazendo a janela principal preencher a tela toda, aumenta só um pouco e ainda fica com espaços nas laterais e com o ícone de maximizar ficando desativado, onde esse ícone deveria mudar para um ícone com dois quadrados.

Pergunto se teria como corrigir essa chamada?
Anexos
Exemplo de janela maximizada corretamente.
Exemplo de janela maximizada corretamente.
Janela principal após a chamada da função wvt_maximize()
Janela principal após a chamada da função wvt_maximize()
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Usar GTWVG

Mensagem por JoséQuintas »

clodoaldomonteiro escreveu:o que senti falta agora é de já abrir a janela principal Maximizada e tendo assim o máximo de Row's e Col's para trabalhar as janelas.
O que faço é definir um fonte que vai ser usado pela janela, definir o tamanho em linhas/colunas, e salvo/restauro do jeito que o usuário deixar. Desta forma, o usuário escolhe o tamanho que quiser, e sempre volta no mesmo tamanho.

Se deixar à vontade, pra usar todas as linhas disponíveis, aí vai ter uma tela diferente pra cada monitor.
Pode ser interessante, mas corre o risco de definir uma tela que não cabe em determinado monitor.

Certas funções, inclusive a de maximizar, estão disponíveis usando hb_gtInfo(), assim usa do mesmo jeito em qualquer lib gráfica. Dá uma olhada em hbgtinfo.ch

Só lembrando:
- Pode escolher o fonte que quiser, desde que seja tamanho fixo POR CARACTERE. Arial por exemplo não serve.
- Pode escolher o tamanho de linhas/colunas que quiser 25x80, 40x132, à vontade sem restrições
- São sempre 16 cores, mas pode escolher quais são as 16 cores que vai usar
E se não definir tamanho de tela, corre o risco do programa usar o mesmo do console, por exemplo 1000 linhas que nem cabem na tela. Vai parecer que o programa endoidou, mas é porque pode posicionar em qualquer parte dessas 1000 linhas. Isto acontece somente quando não define o tamanho da tela em linhas/colunas.
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
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Usar GTWVG

Mensagem por clodoaldomonteiro »

Quintas,
Vi nos fontes do Harbour que a função wvt_maximize() usa a função hb_gtinfo() como vc falou, mas não funciona usar ela sozinha.

Código: Selecionar todos

FUNCTION wvt_Maximize()
   RETURN hb_gtInfo( HB_GTI_SPEC, HB_GTS_WNDSTATE, HB_GTS_WS_MAXIMIZED )
Deve ser um Bug nessa LIB.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Usar GTWVG

Mensagem por clodoaldomonteiro »

Tentei usar também essa função em C, que funcionava em GTWVW, mas não dá certo:

Código: Selecionar todos

   #pragma BEGINDUMP

   #include "hbapi.h"
   #include <stdbool.h>

   HB_FUNC( WVW_SIZE_READY )
   {
      _Bool bIsReady;
      static _Bool s_bIsReady = false;
      bIsReady = s_bIsReady;
      if (ISLOG(1))
      {
         s_bIsReady = hb_parl(1);
      }
      hb_retl(bIsReady);
   }
   #pragma ENDDUMP
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Usar GTWVG

Mensagem por JoséQuintas »

Só foi assim, depois que definir o fonte default, e usar CLS por exemplo pra criar a janela.

Código: Selecionar todos


#include "hbgtinfo.ch"

PROCEDURE Main

   SetMode( 25, 80 )
   hb_gtInfo( HB_GTI_FONTNAME, "Lucida Console" )
   CLS
   wvgSetAppWindow():SendMessage( WIN_WM_SYSCOMMAND, WIN_SC_MAXIMIZE, 0 )
   @ 2, 0 TO 5, 10
   Inkey(0)

   RETURN
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/
Responder