Clipper On Line • Ver Tópico - HMG Extended - um passo a passo do José

HMG Extended - um passo a passo do José

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

HMG Extended - um passo a passo do José

Mensagempor JoséQuintas » 15 Set 2019 15:01

Agora que percebi uma coisa:

# hrb paths
incpaths=..\include

# hmg paths
incpaths=..\..\include
{!xhb}libpaths=..\..\lib
{xhb}libpaths=..\..\xLib

# app resources
incpaths=${hb_curdir}
sources=${hb_curdir}*.rc

# hmg resources
sources=..\..\resources\minigui.res
# hbprint resources
sources=..\..\resources\hbprinter.res
# miniprint resources
sources=..\..\resources\miniprint.res

# win98 unicode support
# libs=unicows

# core
libs=minigui hbprinter miniprint

# core additional binary
libs=dll cputype propgrid propsheet tsbrowse winreport
{xhb}libs=calldll

# winxp MS Agent support (obsolete)
# libs=TMsAgent

# Harbour needed contribs
libs=hbct hbtip hbwin hbvpdf xhb

# Harbour additional contribs
libs=hbmisc hbziparc hbmzip minizip hbmemio hbxml

# system
libs=vfw32 msvfw32


esse arquivo veio com a HMGE, é o minigui.hbc.
Tem aí opção pra Harbour e XHarbour !!!!! ( {xhb} {!xhb} )

Então está começando a virar realidade !!!!

Talvez em futuras versões venha no hbp: $hb_pkg_install.hbm
E já fique totalmente integrado ao Harbour/XHarbour
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

HMG Extended - um passo a passo do José

Mensagempor JoséQuintas » 15 Set 2019 15:58

Olhem que coisa interessante no HBC original.....

{xhb}libs=calldll


Como eu disse, Harbour 3.2 e 3.4 já tem isso em hbwin.
Essa LIB é pra XHARBOUR.
E precisa do CH do HARBOUR!!!!!

Alguém aqui percebeu isso antes?

Como eu já disse por aqui, as LIBs criam partes que faltam no XHarbour, mas que já existem no Harbour.

Se não tomar cuidado, entra a LIB que é pra XHarbour no Harbour, e acaba causando problema.

Antes eu falava disso, mas não tinha nada concreto pra mostrar.
Agora está aí um exemplo visível.

Precisa usar BATs pra compilar... lógico... porque se não tomar cuidado acontece a mistura, e até agora só tinha BAT pra se usar, senão tinha que fazer manualmente.

No HBP dá pra configurar tudo isso também, como foi feito, e fica bem visível.

Achei erro no HBC original, o mesmo HBC que já postei:

# hmg resources
sources=..\..\resources\minigui.res
# hbprint resources
sources=..\..\resources\hbprinter.res
# miniprint resources
sources=..\..\resources\miniprint.res


NÃO existe pasta RESOURCES, somente pasta RESOURCE.

Isso mostra que HBP está começando a gatinhar na HMGE, porque qualquer um que usasse o HBMK2 teria problema de não encontrar resource.

Eu acho que já dá pra brincar com HMGE usando o que já fiz.
Vou brincar um pouco com os samples.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

HMG Extended - um passo a passo do José

Mensagempor JoséQuintas » 15 Set 2019 16:15

Vamos direto no SUPER.
É bom pra entenderem como funciona uma compilação e como resolver.

d:\github\allgui\hmge\samples\applications\super>hbmk2 super

hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
Harbour 3.4.0dev (0e13c7c08d) (2019-09-09 14:45)
Copyright (c) 1999-2019, https://github.com/JoseQuintas/harbour-core/
Compiling 'superchef.PRG'...

superchef.PRG:9: error F0029 Can't open #include file 'minigui.ch'
hbmk2 [super]: Error: Running Harbour compiler (built-in). 1
(d:\harbour\bin\harbour.exe) -n2 superchef.PRG backup.prg bancos.prg caixa.prg categoria_produtos.prg clientes.prg compras.prg cpag.prg crec.prg empresa.prg entregas.prg formas_pagamento.prg formas_recebimento.prg fornecedores.prg funcoes.PRG grupo_fornecedores.prg impostos.prg materia_prima.prg mesas.prg motoboys.prg movimento_bancario.prg operadores.prg produtos.prg promocao.prg reajuste.prg rel_cpag_forn.prg rel_crec_cli.prg rel_estoque_minimo.prg rel_fechamento_dia.prg rel_garcon.prg rel_motoboy.prg rel_mov_banco.prg rel_mov_caixa.prg rel_mov_cpag.prg rel_mov_crec.prg rel_pizza_001.prg rel_posicao_estoque.prg rel_posicao_mprima.prg rel_produto_001.prg subcategoria_produtos.prg atendentes.prg unidades_medida.prg venda_balcao.prg venda_delivery.prg venda_mesas.prg -m -n -w3 -es2 -ge1 -DHBMK_HAS_HBMK=1 -oC:\Users\jmcqu\AppData\Local\Temp\hbmk_ujreza.dir\ -id:\harbour\include -undef:.ARCH. -D__PLATFORM__WINDOWS -D__LITTLE_ENDIAN__ -D__ARCH32BIT__


não encontrou minigui.ch
Porque não?
porque no HBP não diz nada, só tem a lista de fontes.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

HMG Extended - um passo a passo do José

Mensagempor JoséQuintas » 15 Set 2019 16:22

Na pasta SUPER tem um HBC.
Sinto muito dizer... mas HBC não é pra isso.
Se isso se refere ao projeto, é pra colocar no HBP.
Mas.... isso se refere a HMGE... e agora temos HBC, então é apagar mesmo

incpaths=${hb_curdir}
libpaths=
libs=hbziparc hbmzip minizip unicows


Primeiro teste, e já apagamos um arquivo de compilação.

Agora acrescentar no super.hbp... hmge.hbc, que mostra do que a HMGE precisa.

d:\github\allgui\hmge\samples\applications\super>hbmk2 super.hbp
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
Harbour 3.4.0dev (0e13c7c08d) (2019-09-09 14:45)
Copyright (c) 1999-2019, https://github.com/JoseQuintas/harbour-core/
Compiling 'superchef.PRG'...
2000
superchef.PRG:2021: warning W0032 Variable 'X_NOME' is assigned but not used in function '1960:ALTERA_TAMANHO'

superchef.PRG:2021: warning W0032 Variable 'X_PEDACO' is assigned but not used in function '1961:ALTERA_TAMANHO'
2400
superchef.PRG:2436: warning W0032 Variable 'X_TIPO' is assigned but not used in function '2339:CONFIGURAR_VENDA'
2500
superchef.PRG:2583: warning W0032 Variable 'X_NOME' is assigned but not used in function '2522:ALTERA_BORDA'

superchef.PRG:2583: warning W0032 Variable 'X_PRECO' is assigned but not used in function '2523:ALTERA_BORDA'

No code generated.


Ok. é a checagem -w3 -es2 que é padrão, reclamando que precisa declarar variáveis.
Sem problemas, se é necessidade do projeto, acrescentamos no HBP o -w0 -es0, pra ser menos exigente na compilação.

Isso não é exigência do HBMK2... se compilar com Harbour sozinho vai acontecer a mesma coisa.
O default do Harbour é -w3 -es2, diferente do Clipper, então são os parâmetros normais do Harbour.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

HMG Extended - um passo a passo do José

Mensagempor JoséQuintas » 15 Set 2019 16:29

Compiling 'venda_balcao.prg'...
Lines 24997, Functions/Procedures 28
Generating C source output to 'C:\Users\jmcqu\AppData\Local\Temp\hbmk_3o3jea.dir\venda_balcao.c'... Done.
Compiling 'venda_delivery.prg'...
4000
venda_delivery.prg:11: error F0029 Can't open #include file 'hbcompat.ch'
hbmk2 [super]: Error: Running Harbour compiler (built-in). 1


Normal, não encontrou o arquivo de compatibilidade com XHarbour.
Como solução rápida, já que estamos só testando... acrescentar xhb.hbc que é o conjunto de compatibilidade

A solução ideal é evitar o uso disso, ou usar somente o necessário, mas não vém ao caso agora porque estamos apenas compilando.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

HMG Extended - um passo a passo do José

Mensagempor JoséQuintas » 15 Set 2019 20:18

A quantidade não serve de referência.
Considerando que o Maligno ficou fora muitos anos, provavelmente estaria no topo.

Como o título diz... é um passo a passo.
Se não for assim, deixa de ser o passo a passo.

Mas está concluído, é a última vez sobre algo desse tipo.
É um dia inteiro gasto pra isso, e seria muito mais se tivesse revisão, testes, e tudo que mencionou aí.
Provavelmente nem faria isso.

pizza.png


https://github.com/JoseQuintas/allgui

Pra resources... o HBMK2 se vira pra compilar - mais BAT eliminado.
Mas não dá pra compilar resource com conteúdo repetido.

#{hbexe}sources=resource/hbprinter.rc
#{hbexe}sources=resource/miniprint.rc
{hbexe}sources=resource/minigui.rc


No projeto super.hbp, só algumas adições, além dos fontes que já estavam lá.

-osuper
hmge.hbc
xhb.hbc
-w0
-es0
-inc


Aplicativo compilado, teste concluído.

No mais, após confirmação, é apagar os 915 BATs, e todos os HPBs, HBCs, HBMs, .RES, e coisas que se tornaram inúteis.

Em todo caso, meu hbmk.hbc que fica em harbour\bin, que é meu padrão geral:

mt=yes
gui=yes
strip=yes
{hbexe}compr=yes
libpaths=d:/cdrom/fontes/integra/sefazclass
libpaths=d:/github/allgui/hmge
{mingw}CFLAGS=-Wno-implicit-fallthrough -Wno-cast-function-type -Wno-misleading-indentation
PRGFLAGS=-m -n -w3 -es2 -ge1
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

HMG Extended - um passo a passo do José

Mensagempor JoséQuintas » 15 Set 2019 21:37

Meu pré-compilador, usando xharbour:

compila.png


Tá avisando que não estou usando minha configuração padrão.
E também que o XHarbour não está assinado, o que faz diferença.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11895
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 758 vezes

Anterior



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Google Adsense [Bot] e 1 visitante


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
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro