Página 4 de 5

Usar GTWVG

Enviado: 02 Fev 2018 21:52
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

Usar GTWVG

Enviado: 07 Fev 2018 11:55
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!

Usar GTWVG

Enviado: 20 Fev 2018 15:26
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!

Usar GTWVG

Enviado: 20 Fev 2018 16:08
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?

Usar GTWVG

Enviado: 21 Fev 2018 07:41
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  

Usar GTWVG

Enviado: 21 Fev 2018 15:04
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
???
:%

Usar GTWVG

Enviado: 21 Fev 2018 15:09
por microvolution
só pra constar:
compilo de dentro do IDE/HMG 3.4.4 a compilação usando a lib GTWVG.

Usar GTWVG

Enviado: 21 Fev 2018 15:18
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?

Usar GTWVG

Enviado: 21 Fev 2018 17:43
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...

Usar GTWVG

Enviado: 22 Fev 2018 07:59
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!

Usar GTWVG

Enviado: 27 Out 2019 11:22
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?

Usar GTWVG

Enviado: 27 Out 2019 13:44
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.

Usar GTWVG

Enviado: 27 Out 2019 16:32
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.

Usar GTWVG

Enviado: 27 Out 2019 17:16
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

Usar GTWVG

Enviado: 27 Out 2019 18:05
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