Página 2 de 6

HMG 3.x + WVG = Harbour Multi GT

Enviado: 06 Mar 2016 23:46
por microvolution
professores...
boa noite, bom dia, boa tarde, boa madrugada!
Bom, como disse, segue o link que abri para referenciar ao seguinte título "wvg + hmg = harbour multi gt" https://pctoledo.org/forum/viewto ... 47&t=17013
Se puderem dar uma passadinha por lá, serão todos muito bem vindos!
Quanto ao que o professor JQuintas escreveu... não entendi se foi pra mim ou para os demais que já estavam no raciocínio, mas, já há quase 4 anos sem comentar...
:%

HMG 3.x + WVG = Harbour Multi GT

Enviado: 07 Mar 2016 10:32
por JoséQuintas
Testei o exemplo, e numa tentativa de alteração pra módulo multithread deu erro, e não faço a menor idéia de como resolver.
No meu caso, trata-se apenas do uso de multithread, sem usar qualquer recurso da GTWVG.

Quanto ao seu caso: pode apagar a outra mensagem do outro tópico.

Tudo que está usando pra compilar agora, não vai usar mais.
Vai usar somente o download da HMG, e o que vier no pacote.
HMG, também conhecida como minigui, é o assunto deste tópico.
Detalhes sobre recursos de GTWVG não é aqui, mas pelo menos a questão de fazer funcionar, como se trata de HMG, é aqui neste tópico.

Talvez seja interessante pesquisar qual é o grupo oficial da HMG, e usá-lo.

É... realmente tem horas que é complicado.
Talvez por isso muita gente não troque a versão do Harbour, porque sempre pode ter imprevistos.

É biblioteca, "compilador" Harbour, e compilador C.
A biblioteca é compilada com um Harbour específico, e um compilador C específico.
Sendo assim, tem que usar o mesmo Harbour e o mesmo compilador C da biblioteca.
Não pode misturar.
Por isso a HMG já coloca tudo junto, pra já ficar tudo igual.
É baixar o pacote HMG, e usar somente o que tem nele.

Outra opção, mas aí pode complicar:
- Baixar fontes da HMG
- BaIxar fontes do Harbour
- Configurar todo ambiente, e recompilar tudo usando o mesmo compilador C
- Torcer pra funcionar (senão vai pensar que é algo simples que funciona de primeira, ou que sempre funciona)

A mesma coisa vale pra hwgui, hbqt, e outras bibliotecas que não fazem parte do Harbour oficial.

HMG 3.x + WVG = Harbour Multi GT

Enviado: 07 Mar 2016 10:41
por microvolution
JoséQuintas escreveu:É... realmente tem horas que é complicado.
então veja se entendi...
se usar o HMG oficial do Roberto Lopez com IDE e tudo, é possível anexar a LIB GTWVG e aí sim usar os recursos?
Agora o contrário: puro código harbour (VSzakais) com lib GTWVG e se quiser acrescentar a HMG (seja qual versão for) não é possível?
Outra coisa, não é da HMG, mas, como aqui neste tópico está mencionada a WVG, vi no grupo users harbour uma postagem sua... e o Bedi, lhe oferece um link dele o http://www.vouch.in/...
"pregunto":
É um novo Vouch com manuais da WVG mais atualizados?
acessei, mas, como está em inglês não entendi "patavina di nada"...
Toledo, se achar conveniente, pode transferir essa minha pergunta/dúvida para o local apropriado, por favor!
Não tenho a intenção e atropelar as coisas...

HMG 3.x + WVG = Harbour Multi GT

Enviado: 07 Mar 2016 11:29
por microvolution
Nota só pra constar:
baixei, instalei, e executei o "tal vouch" do Bedi... mas, travou... nem deu pra ver do que se trata, ou tratava... rsrsrs:
16-0307 - vouch falhou.png
:( isniff isniff isniff :'(

HMG 3.x + WVG = Harbour Multi GT

Enviado: 07 Mar 2016 13:05
por JoséQuintas
Não é biblioteca. Vouch é um aplicativo, e pelo que entendi é muito utilizado.

Eu já disse:
O download da HMG contém HMG, Harbour e compilador C.
Não é exatamente igual ao oficial.

Quer usar WVG com esse pacote da HMG.... isso é assunto da HMG.
Nem dá pra saber se é a mesma WVG oficial, ou se contém alterações pra funcionar com HMG.
Então, pelo menos o ponto de partida é aqui.
Assim que funcionar, ou pra mais recursos da WVG, deixa de ser aqui.
Pra mais recursos da HMG, continua aqui.

Esse é meu ponto de vista.

HMG 3.x + WVG = Harbour Multi GT

Enviado: 07 Mar 2016 13:39
por microvolution
JoséQuintas escreveu:Quer usar WVG com esse pacote da HMG.... isso é assunto da HMG.
Nem dá pra saber se é a mesma WVG oficial, ou se contém alterações pra funcionar com HMG.
pera aí... quer dizer que a pasta contrib do harbour da hmg existe e tem lá a GTWVG e GTWVW?
Se for assim, é possível fazer o que estou imaginando... :f vou ligar pro Roberto Lopez... ah! não tenho o telefone dele :)) se der certo... eu vou pra galera... rsrsrs :|<

HMG 3.x + WVG = Harbour Multi GT

Enviado: 07 Mar 2016 15:21
por microvolution
prezado professor Jquintas e demais professores...
acho q a vantagem de um "doido como eu" que não entende "patavina de nada" de C/C++ e muito menos harbour, é que a gente fuça sem entender e no chutômetro acerta alguma coisa...
vejam a imagem:
16-0307 - compilação hmg 1.png
Como não entendo o funcionamento das LIBs gráficas e muito menos se pode misturá-las, então faço o chutômetro e colo tudo "num liquidificador" e vejam no que deu.
Já que não posso fazer o contrário HARBOUR 3.4, mais GTWVG + GTWVW (o trio já funciona) e somar HMG, resolvi fazer o inverso:
HMG 3.4 + GTWVG + GTWVW.
Aí resultou apenas (por enquanto) na mensagem de erro acima. Outras aconteceram, mas não quis incomodá-los e as resolvi por aqui mesmo.
Bom, falta agora configurar a guia CONFIGURAÇÃO da HMG, que é difrente da HMG 3.0.35 (onde os parâmetros já existem). A partir da que tenho 3.0.46 em diante, esses valores são manuais e alguns são dentro do PRG mesmo.
Bom, mas, esse erro parece ser fácil de se resolver...
vou quebrar cabeça aqui mais um pouco até conseguir compilar 100% e executar para ver se aparece algum erro RUNTIME.
:-Y

HMG 3.x + WVG = Harbour Multi GT

Enviado: 07 Mar 2016 20:01
por JoséQuintas
Se prepare, porque se não puder misturar, não é erro comum que vai acontecer, vai ser GPF mesmo.
"Este programa executou uma operação ilegal e será fechado".

HMG 3.x + WVG = Harbour Multi GT

Enviado: 07 Mar 2016 21:03
por microvolution
JoséQuintas escreveu:"Este programa executou uma operação ilegal e será fechado".
rsrs
se o do próprio Bedi o tal de vouch.in nem executou e já deu essa mensagem...
Se o próprio Bill Gates ao lançar o Windows Millenium Edition deu tela azul...
o q vier é lucro!

HMG 3.x + WVG = Harbour Multi GT

Enviado: 09 Mar 2016 15:23
por microvolution
Pessoal boa tarde! ... é o seguinte...
Quebrei muita cabeça e descobri o seguinte:
Se colocar a seguinte linha, ele (harbour através da IDE/HMG) compila, abre a tela do MSDOS (tela preta) e gera um erro, que vou mostrar em seguida. Vejam primeiro a linha que coloquei:

Código: Selecionar todos

REQUEST HB_GT_WIN_DEFAULT // para invocar o modo CONSOLE junto com o 
modo GRÁFICO. 9/7/15w
Então, com a linha acima no fonte do MAIN, gera o seguinte erro (hb_out):

Código: Selecionar todos

Application Internal Error - D:\SiCCA\SCI10000\SiCCA3603hmg.exe
Terminated at: 2016-03-09 14:18:35
Unrecoverable error 6005: Exception error:

    Exception Code:C0000005 ACCESS_VIOLATION
    Exception Address:0041948D
    EAX:00000000  EBX:00000003  ECX:0000000A  EDX:01720080
    ESI:00000000  EDI:00000000  EBP:010253D8
    CS:EIP:0023:0041948D  SS:ESP:002B:00CEFCE0
    DS:002B  ES:002B  FS:0053  GS:002B
    Flags:00010206
    Exception Parameters: 00000000 00001C3C
    CS:EIP: 8B 87 3C 1C 00 00 BA 01 00 00 00 89 54 24 18 85
    SS:ESP: 01765E4C 00000000 00CEFD0C 00000000 00000025 00000012 00000400 0050EF33 01743924 00000021 017431B4 01765E4C 00000025 0174385C 00000000 00CEFD5C

    C stack:
    EIP:     EBP:       Frame: OldEBP, RetAddr, Params...
    0041948D 010253D8   76E0AC2C 76E0ABE8 76E0ABCC 76E0ABAC 76E0AB98 76E0AB74 00000000 00000000 00000001 EE0512D3

Modules:
00400000 006E3000 D:\SiCCA\SCI10000\SiCCA3603hmg.exe
76FE0000 0017B000 C:\WINDOWS\SYSTEM32\ntdll.dll
73F10000 000E0000 C:\WINDOWS\SYSTEM32\KERNEL32.DLL
76650000 0017E000 C:\WINDOWS\SYSTEM32\KERNELBASE.dll
73C60000 00073000 C:\Windows\SYSTEM32\guard32.dll
75880000 00147000 C:\WINDOWS\SYSTEM32\USER32.dll
768E0000 0014F000 C:\WINDOWS\SYSTEM32\GDI32.dll
73E90000 0007B000 C:\WINDOWS\SYSTEM32\ADVAPI32.dll
75620000 000BE000 C:\WINDOWS\SYSTEM32\msvcrt.dll
76F90000 00044000 C:\WINDOWS\SYSTEM32\sechost.dll
74080000 000AD000 C:\WINDOWS\SYSTEM32\RPCRT4.dll
73CF0000 0001E000 C:\WINDOWS\SYSTEM32\SspiCli.dll
73CE0000 0000A000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
76880000 00058000 C:\WINDOWS\SYSTEM32\bcryptPrimitives.dll
76DF0000 000EB000 C:\WINDOWS\SYSTEM32\ole32.dll
76490000 001BD000 C:\WINDOWS\SYSTEM32\combase.dll
76A90000 00045000 C:\WINDOWS\SYSTEM32\SHLWAPI.dll
76A80000 00006000 C:\WINDOWS\SYSTEM32\PSAPI.DLL
73C50000 00008000 C:\WINDOWS\SYSTEM32\VERSION.dll
76A30000 0002B000 C:\WINDOWS\SYSTEM32\IMM32.DLL
73C40000 00008000 C:\WINDOWS\SYSTEM32\fltlib.dll
73C10000 00028000 C:\WINDOWS\SYSTEM32\ntmarta.dll
73B40000 00092000 C:\WINDOWS\system32\apphelp.dll
75ED0000 000F2000 C:\WINDOWS\SYSTEM32\COMDLG32.DLL
74130000 0008D000 C:\WINDOWS\SYSTEM32\shcore.dll
74220000 013FE000 C:\WINDOWS\SYSTEM32\SHELL32.dll
76DB0000 00037000 C:\WINDOWS\SYSTEM32\cfgmgr32.dll
759D0000 004FA000 C:\WINDOWS\SYSTEM32\windows.storage.dll
76430000 0000C000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll
76440000 00044000 C:\WINDOWS\SYSTEM32\powrprof.dll
76870000 0000F000 C:\WINDOWS\SYSTEM32\profapi.dll
76F30000 0005E000 C:\WINDOWS\SYSTEM32\FirewallAPI.dll
76400000 00013000 C:\WINDOWS\SYSTEM32\NETAPI32.dll
767D0000 00092000 C:\WINDOWS\SYSTEM32\OLEAUT32.dll
6DB50000 0020F000 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.10586.0_none_d3c2e4e965da4528\COMCTL32.DLL
6C0E0000 00006000 C:\WINDOWS\SYSTEM32\MSIMG32.DLL
6A3E0000 00023000 C:\WINDOWS\SYSTEM32\MSVFW32.DLL
6EE80000 00024000 C:\WINDOWS\SYSTEM32\WINMM.DLL
6B000000 00067000 C:\WINDOWS\SYSTEM32\WINSPOOL.DRV
6D5C0000 00023000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll
73820000 0001B000 C:\WINDOWS\SYSTEM32\bcrypt.dll
70B60000 0000B000 C:\WINDOWS\SYSTEM32\DAVHLPR.DLL
6CAE0000 0002C000 C:\WINDOWS\SYSTEM32\fwbase.dll
6F930000 00075000 C:\WINDOWS\system32\uxtheme.dll

Called from WVG_IMAGE(0)
Called from MAIN(207) in C:\MVinfo\MIGRAR\SiCCA\SiCCA3603hmg\sci10000\pci10000.prg
------------------------------------------------------------------------
Resumindo - o pouco que estou aprendendo com os srs, o erro é na linha que contém a primeira chamada a uma função da GTWVG que, é na linha 207. A linha 207, por sua vez, contém as instruções:

Código: Selecionar todos

Wvg_Image     ( 10 , 10 , 20 , 60 ,  , GOBJ_IMAGESOURCE_FILE, Splash , , .f. )  // eliminado temporariamente 7/3/16w
Agora se tirar (comentar) a linha hb_gt_win_default, o compilador gera sem problemas o executável, mas, ao executá-lo, o windows até pergunta se é pra executar (modo administrador), mas, não dá nada de imagem e nem muito menos aparece no Gerenciador de Tarefas, ou seja, é como se ele executasse e fechasse ao mesmo tempo.
Alguma solução, alguns dos professores tem?

HMG 3.x + WVG = Harbour Multi GT

Enviado: 09 Mar 2016 22:02
por Claudio Soto
Estos son los dos ejemplo que posteo Ronaldo (IMATECH), solo con adicionar los archivos de cabecera que faltan funcionan OK con HMG.3.4.2

HMG 3.x + WVG = Harbour Multi GT

Enviado: 09 Mar 2016 23:38
por microvolution
Claudio Soto escreveu:Estos son los dos ejemplo que posteo Ronaldo (IMATECH)
Prezado Dr. Soto, já havia visto este exemplo nalgum outro lugar... não me lembro se foi aqui mesmo ou noutro tópico.
Não dei muito crédito a ele, mas, ao V.Sa. citá-lo me despertou um interesse maior.
Bem, abri o segundo exemplo e peguei a função HB_GTSYS() e coloquei-a dentro do meu aplicativo.
Ao compilar usando a IDE/HMG, compilou e executou perfeitamente como se não usasse a HMG e pareceu como se fosse apenas a compilação no braço HARBOUR + GTWVG, ou seja, parece que ficou inesquecida.
Enfim, no primeiro momento, já é um grande ganho.
Então, as linhas da função que citei acima, são:

Código: Selecionar todos

   REQUEST HB_GT_WVG_DEFAULT
   REQUEST HB_GT_WVG
   REQUEST HB_GT_WIN
Bom, pelo que entendi nas linhas desta função, é assim:
se colocar REQUEST_HB_GT_WVG_DEFAULT indica que será considerada como lib gráfica a GTWVG, e, desconsiderada qualquer gráfico da HMG, e todas as linhas de criação de form_WINDOW gerarão erros.
Se colocar REQUEST_HB_GT_WIN_DEFAULT aí sim, todos os comandos/funções da lib GTWVG gerarão erros, mas, por outro lado, os FORM_WINDOW da HMG serão considerados como aceitos.
Bom, agora, preciso chegar a uma fórmula, em que consiste assim:
- se eu quiser num módulo usar 100% CONSOLE, faço tal procedimento;
- se eu quiser noutro módulo usar 100% gtwvg, seria tal procedimento;
- se caso eu queira um outro módulo com 100% FORM_WINDOW e todos os gráficos da HMG, faça tal coisa.
Bom, alguém consegue uma ideia?

HMG 3.x + WVG = Harbour Multi GT

Enviado: 10 Mar 2016 10:14
por asimoes
Olá Dr. Claudio,

Existe possibilidade de portar este demo para MiniGui?

HMG 3.x + WVG = Harbour Multi GT

Enviado: 10 Mar 2016 10:52
por asimoes
Dr. Claudio,

Digo portar o exemplo hmg_wvg para Minigui?

HMG 3.x + WVG = Harbour Multi GT

Enviado: 10 Mar 2016 11:53
por Claudio Soto
asimoes escreveu:Dr. Claudio,

Digo portar o exemplo hmg_wvg para Minigui?
No lo he probado, pero creo que funciona ok sin necesidad de cambios.