Erros de Compilação

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

Moderador: Moderadores

Araújo
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 02 Abr 2013 22:22
Localização: Recife-PE

Erros de Compilação

Mensagem por Araújo »

Prezado Paulo,
Estou na faze final de estabilização do sistema sendo compilado e funcionando plenamente em Harbour. Alguns erros de execução, que não ocorriam no clipper, estão sendo identificados e corrigidos pontualmente, porém dentro da linguagem clipper 5.2e. Mas, me surgiu as seguintes dúvidas:

1. Tem como conciliar no mesmo sistema novas funcionalidades em modo gráfico e manter a parte antiga dos demais módulos ou até mesmo repaginar aos poucos cada um deles?!... Gostaria de começar, por exemplo, repaginando totalmente a tela do menu principal e login!...É possível?!

2. Tem alguma ferramenta que auxilie na elaboração dos formulários de tela, como uma IDE do Delphi por exemplo?

3. Uso arquivo DBF com NTX, mas gostaria de assim que possível mudar para CDX. Pergunto: devo fazer desta forma ou partir logo para aprender como acessar e manter algum banco de dados free?

Desde já agradeço sua atenção.

Att,

Araújo
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erros de Compilação

Mensagem por Toledo »

Araújo escreveu:1. Tem como conciliar no mesmo sistema novas funcionalidades em modo gráfico e manter a parte antiga dos demais módulos ou até mesmo repaginar aos poucos cada um deles?!... Gostaria de começar, por exemplo, repaginando totalmente a tela do menu principal e login!...É possível?!
Mesclar telas console e telas gráficas em um mesmo programa é possível, por exemplo usando a HwGui.
Araújo escreveu:2. Tem alguma ferramenta que auxilie na elaboração dos formulários de tela, como uma IDE do Delphi por exemplo?
Existe várias bliotecas gráficas para harbour (MiniGui,HwGui,FiveWin,HBQT,etc) e todas elas tem uma IDE para criar seus formulários de tela.
Araújo escreveu:3. Uso arquivo DBF com NTX, mas gostaria de assim que possível mudar para CDX. Pergunto: devo fazer desta forma ou partir logo para aprender como acessar e manter algum banco de dados free?
Tudo vai depender do seu tempo disponível, mas mudar para CDX já é um bom começo.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erros de Compilação

Mensagem por JoséQuintas »

Curioso.... o Itamar poluiu muito este post.
E o que realmente interessava pra resolver o problema, ele postou errado.
Quem estava confuso, ficou mais confuso ainda.
Comecei a prestar mais atenção aos posts quando tem poluição.

Mas só pra ficar claro:
O pessoal do Harbour criou os arquivos HBC pra facilitar o uso.

Ok, pra incluir uma LIB, -l
Ok, pra incluir um ch no fonte #include

Para as LIBs do Harbour, o HBC já acrescenta tudo que é necessário, não apenas LIBs e CH, mas tudo que for relacionado.
Por isso é recomendado o seu uso, e não a LIB diretamente.

Quanto à última pergunta, o Toledo já respondeu, mas só pra reforçar:

Um dos recursos que a biblioteca gráfica pode fornecer é vários módulos trabalhando ao mesmo tempo.
Então imagine um módulo trabalhando com um arquivo e o outro módulo alterando a área de trabalho ou registro em uso, ou um módulo trabalhando com uma variável e o outro alterar o conteúdo dessa variável.
Dependendo da LIB gráfica, isso pode acontecer, e precisa precauções.
Convém confirmar como isso funciona na LIB gráfica que escolher.

Cada banco de dados também tem uma necessidade diferente, como por exemplo, instalar o software de servidor na máquina servidora.
Tem que levar isso em consideração antes de decidir, pra ver se vai ser tranquilo em todos os seus clientes.

Mas se está tudo funcionando tranquilo com DBF/NTX, o DBF/CDX pode melhorar ainda mais.
E enquanto altera isso, já vai poder revisar os fontes, e já ir deixando preparado para o que vém depois.
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Erros de Compilação

Mensagem por Itamar M. Lins Jr. »

Curioso.... o Itamar poluiu muito este post.
E o que realmente interessava pra resolver o problema, ele postou errado.
Deixa de ser arrogante, vai cuidar da sua vida.
Chegou o dono da verdade!
O Viktor não recomenda mais o uso do -l
Por isso eu coloque o uso do .hbc só que não precisa do sinal "-" quando usamos na linha de comando só isso, porque dentro do .hbp tem que colocar o -larquivo sem .hbc
Amigo, se você está usando um arquivo HBP, então tenta incluir as seguintes linhas no início deste seu HBP:

-lhbblink
-lhbnf
Conforme o Toledo respondeu, quem está poluindo o forum é vc com suas doidices e afirmações que não tem nada a ver.

LEIA ENTÃO!
Prezados Paulo e Itamar,
Muito obrigado pela ajuda!... finalmente consegui gerar o exec!.. O resultado é surpreendente!... Muito bom!...
Vou seguir com o trabalho de migração... Depois que estabilizar tentarei repaginar o sistema com o visual gráfico e uso de novas funções do Harbour.
A propósito, tem algum link onde possa baixar documentação das funções do Harbour em formato/apresentação semelhante ao NG do clipper?!..
Grato pela ajuda

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erros de Compilação

Mensagem por JoséQuintas »

Por isso eu coloque o uso do .hbc só que não precisa do sinal "-" quando usamos na linha de comando só isso, porque dentro do .hbp tem que colocar o -larquivo sem .hbc
Dentro ou fora do hbp, não vai sinal de menos pra usar hbc.
Poluir tudo bem, mas ensinar errado só pra não admitir que errou... nossa...

O usuário resolveu, mas poderia ter resolvido bem antes.
Fez ele pensar que estava errando. Isso não conta?
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Erros de Compilação

Mensagem por Itamar M. Lins Jr. »

Dentro ou fora do hbp, não vai sinal de menos pra usar hbc.
Foi o Toledo quem postou! Veja!
-lhbblink
-lhbnf
Eu não tenho culpa se a pasta, arquivo e a lib tem o mesmo nome ?
É a mesma coisa que usar:
hbmk2 xyz.hbp hbblink.hbc hbnf.hbc

Como eu sei que o -lhbblink e o -lhbnf é convertido para hbblink.hbc e hbnf.hbc pois eu já tinha visto quando ele fez essa modificação no fonte do hbmk2...
Eu coloquei o "-" depois eu mesmo corrigir que não precisava... E vc vem que essa sua chatice dos infernos, gerando toda essa inutilidade para ver quem sabe mais ou quem sabe menos...

Conteudo do hbblink.hbc

Código: Selecionar todos

description=Blinker compatibility

incpaths=.

headers=${hb_name}.ch

libs=${_HB_DYNPREF}${hb_name}${_HB_DYNSUFF}
Olhe lá no código do hbmk2 que vai ver isso aqui!

Código: Selecionar todos

STATIC PROCEDURE HintHBC( hbmk )

   LOCAL cLib
   LOCAL cNameRaw

   FOR EACH cLib IN hbmk[ _HBMK_aLIBUSER ]
      cNameRaw := hb_FNameName( cLib )
      IF AScan( hbmk[ _HBMK_aHBCCON ], {| tmp | hb_FileMatch( tmp, cNameRaw ) } ) == 0 .AND. ;
         HBC_FindStd( hbmk, cNameRaw + ".hbc" )
         _hbmk_OutStd( hbmk, hb_StrFormat( I_( "Hint: Add input file '%1$s' instead of specifying raw library using '-l%2$s' or 'libs=%2$s'." ), cNameRaw + ".hbc", cLib ) )
      ENDIF
   NEXT

   RETURN
Pois eu penso que ele converte -lhbblink p/ hbblink.hbc, por isso eu coloquei com -, mas depois eu corrigir...
Sabe o que é Hint ? pois é vai estudar mais e pare de encher o saco dos outros.
Vai ficar catando falhas banais minhas o tempo todo é ? achando que eu não sei que errei, pois é, contanto que admita...
O importante é que o rapaz conseguiu mesmo eu ensinando errado. Isso na sua opinião.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Erros de Compilação

Mensagem por Itamar M. Lins Jr. »

Fez ele pensar que estava errando. Isso não conta?
E dai ?
Já foi resolvido antes dessa sua intromissão essa chatice sua...
Estou muito triste porque ensinei errado, e agora o usuário foi para outra linguagem... buaaa!!! Todo mundo é tão criancinha né ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erros de Compilação

Mensagem por JoséQuintas »

O post do Toledo não tem nenhum problema, indicou uma das opções existentes, que apenas acrescenta a LIB sem nenhuma outra alteração.


Vamos lá tirar a dúvida:

Tem LIB que depende de #include, e tem LIB que depende de outras LIBs.
Incluir uma LIB funciona, mas se for uma LIB que depende de outra, vai precisar acrescentar outras.
Pra facilitar, criaram há muito tempo os arquivos HBC, assim já inclui tudo que precisa.

Por exemplo... Tem LIB que depende de API do Windows.
O Viktor fez muitas mudanças, movendo funções da API do Windows que estavam em LIBs pra dentro da hbwin, assim como funções que eram repetidas.
Então o HBC dessa LIB já inclui outra lib, que é a hbwin e os #includes relacionados.

Já teve funções que eles retiraram da LIB e acabaram definindo num arquivo CH.
Quem costuma usar HBC, já fica com tudo isso resolvido, e nem percebe que houve mudança.
Então usar HBC não é obrigatório, mas é recomendado.

Acho até que no caso da LIB de compatibilidade com xHarbour pode ser interessante apenas indicar a LIB.
Podemos querer apenas funções da LIB, e não mudar todo o comportamento do Harbour pra ficar igual xHarbour.

Tempos atrás resolveram um problema que eu tinha com tbrowse aqui no fórum.
Mesmo eu falando que era verdade isso, acharam que eu estava brincando.

É perfeitamente normal não saber tudo, o contrário é que é estranho.

Faltou:
pra indicar lib é usando -l, exemplo -lhbnf
pra indicar hbc é direto o nome, exemplo hbnf.hbc
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Erros de Compilação

Mensagem por Itamar M. Lins Jr. »

Nem meu post tem problema, o post tinha problema, depois eu corrigi... Então não tem problema, tinha, agora não tem!
Dentro ou fora do hbp, não vai sinal de menos pra usar hbc.
Sobre usar ou não o sinal de "-" com .hbc

Código: Selecionar todos

C:\fontes\teste>hbmk2 vezinho.prg -gtwvt -lhbblink.hbc
hbmk2: Processando script local make: hbmk.hbm
Harbour 3.4.0dev (8a7b993) (2015-06-24 13:55)
Copyright (c) 1999-2015, https://github.com/vszakats/harbour-core/
Compiling 'vezinho.prg'...
Lines 8, Functions/Procedures 1
Generating C source output to 'C:\Users\Itamar\AppData\Local\Temp\hbmk_ranjlz.di
r\vezinho.c'... Done.

C:\fontes\teste>

Código: Selecionar todos

C:\fontes\teste>hbmk2 vezinho.prg -gtwvt -lhbblink.hbc -lhbblink
hbmk2: Processando script local make: hbmk.hbm
Harbour 3.4.0dev (8a7b993) (2015-06-24 13:55)
Copyright (c) 1999-2015, https://github.com/vszakats/harbour-core/
Compiling 'vezinho.prg'...
Lines 8, Functions/Procedures 1
Generating C source output to 'C:\Users\Itamar\AppData\Local\Temp\hbmk_lo6k38.di
r\vezinho.c'... Done.

Código: Selecionar todos

C:\fontes\teste>hbmk2 vezinho.prg -gtwvt -lhbblink.hbc -lhbblink -lhbnf.hbc
hbmk2: Processando script local make: hbmk.hbm
Harbour 3.4.0dev (8a7b993) (2015-06-24 13:55)
Copyright (c) 1999-2015, https://github.com/vszakats/harbour-core/
Compiling 'vezinho.prg'...
Lines 8, Functions/Procedures 1
Generating C source output to 'C:\Users\Itamar\AppData\Local\Temp\hbmk_t4znho.di
r\vezinho.c'... Done.
E agora ? Se aqui funciona com o sinal de menos ? agora tem que colocar o "l" rsrsr ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erros de Compilação

Mensagem por JoséQuintas »

Testei aqui.
Ao usar -l é considerada LIB e é desprezada a extensão .HBC

veja o caso da harupdf, que aqui está mais visível:

-lhbhpdf.hbc

Código: Selecionar todos

Compiling 'pbol0010.prg'...
pbol0010.prg(12) Error F0029  Can't open #include file 'harupdf.ch'
hbmk2 [jpa]: Error: Running Harbour compiler (embedded). 1
Já com
hbhpdf.hbc

Código: Selecionar todos

Generating Code...
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2013
UPX 3.09w       Markus Oberhumer, Laszlo Molnar & John Reiser   Feb 18th 2013

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
   5388288 ->   1672704   31.04%    win32/pe     JPA.exe

Packed 1 file.
Neste caso considerou hbc e já configurou path, e o que precisava a mais.
Não sei se seria interessante pedir pra ajustar isso no hbmk2, pelo menos pra arquivo hbc indicado como lib.
Acho que a extensão é desprezada pro arquivo HBP poder servir pra qualquer compilador C, onde a LIB pode ser .LIB ou .A (são as que conheço do msvc/bcc e mingw)



Voltando ao assunto anterior....
Eu poderia dizer que foi de propósito, mas não foi, realmente corrigiu depois, mas eu interpretei errado.

Não sei o que foi pior, eu ter errado, ou você tentar corrigir o que não estava errado e começar a errar.
Pelo menos serviu pra esta descoberta.

É melhor nos limitarmos aos assuntos técnicos.
Desta vez chegou em algo interessante, mas nem sempre pode ser assim.
E limitados à questão técnica, teríamos chegado a isso mais rapidamente.

Vou relatar lá pro Viktor, já que é ele quem cuida do hbmk2.
Uma confusão a menos.
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/
Araújo
Usuário Nível 1
Usuário Nível 1
Mensagens: 48
Registrado em: 02 Abr 2013 22:22
Localização: Recife-PE

Erros de Compilação

Mensagem por Araújo »

Srs,
Agradeço a todos pela ajuda, mas temo que este debate siga para um nível que eu não consiga acompanhar!...
Apenas recapitulando:..
Dos erros de compilação já consegui gerar o executável, claro que com as dicas de Paulo e Itamar!...O resultado foi muito bom...
E como disse antes, já estou na faze final de estabilização e a ansiedade aumentou para conseguir repaginar o sistema e usar banco de dados!... Mas para esses pontos vou seguir as recomendações do Toledo: trocar NTX por CDX e estudar a HwGui para repaginar o sistema.
A propósito, vocês poderiam colocar o link para baixar o HwGui e me orientar como faço para considerá-lo na compilação?.. Também tem alguma documentação que ajude a usá-lo bem?!...

Grato pela atenção,

Araújo
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erros de Compilação

Mensagem por JoséQuintas »

Ok, desculpe pela bagunça.
Sobre hwgui, e é sério, acredito que o Itamar possa ajudar, inclusive ele criou um post recente em contribuições.
Talvez queira dar uma olhada pra já adiantar alguma coisa.

https://pctoledo.org/forum/viewto ... 43&t=16273
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Erros de Compilação

Mensagem por Itamar M. Lins Jr. »

Eu posso até ajudar a usar a Hwgui, colocar aqui as libs etc... Mas o grupo da Hwgui é muito desunido, tenho inveja do grupo da Minigui.
Vejo que o pessoal largou tudo nas mãos do Alexander...Estava indo até bem mas o pessoal faz ou fez muito boicote indiretamente...
Ainda bem que existem outros usuários no mundo que usam a Hwgui inclusive no Linux e Android(sintaxe similar) coisa que a Minigui não tem, mas o grupo é importante.
A Hwgui é totalmente OOP, simples, pequena tem o funcional, só que ficou na mão de alguns brasileiros um tempo sem a intervenção do Alexander Kresin, e houve uma certa desordem, depois de 5 anos mais ou menos ele voltou e praticamente refez uma boa parte ai algumas pessoas subiram no tamanco... Entretanto ele está dando um excelente suporte aos problemas, sempre responde e eu continuo usando e de olho na HBQT e porque não na Minigui, uma vez que a Hwgui é a mãe de algumas delas... As ideias!! a mesma coisa vem acontecendo com o hdroidgui do Kresin que já tem muita gente copiando as ideias...
http://kresin.ru/en/hdroid.html

Recentemente chegaram mais alguns usuários da Hwgui só que no Linux, e já contribuíram com algumas coisas e os usuários do windows ganharam mais algumas funções e correções, então quanto mais usuários melhor para todos.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erros de Compilação

Mensagem por JoséQuintas »

Aviso:
Aquele uso errado de HBC através de -l que descobrimos durante este tópico...
Registrei a ocorrência e foi aceita.
Agora vai ser emitido um alerta quando isso acontecer.

A informação sobre a alteração está aqui:

https://github.com/vszakats/harbour-cor ... 99797cbfee

Após atualizar, testei e ficou assim:

Código: Selecionar todos

d:\>hbmk2 jpa.hbp
hbmk2: Processing environment options: -comp=msvc
hbmk2 [jpa]: Warning: Ignoring .hbc file specified via -l option
             '-lhbhpdf.hbc' in jpa.hbp:6. Specify it as 'hbhpdf.hbc' instead.
Harbour 3.4.0dev (561a1de) (2015-06-26 22:31)
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
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Erros de Compilação

Mensagem por sygecom »

Araujo,
Abra um novo topico sobre suas duvidas da Hwgui, podemos ajudar nelhor assim, obrigado.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder