Erro compilação quando insiro mais prg

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

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20365
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por JoséQuintas »

Também funcionam parâmetros colocando na linha de comando.
Ao invés de mexer no hbp, coloque na linha de comando.

Código: Selecionar todos

hbmk2 projeto.hbp gas40hb.prg
Até testar ao contrário também.

Código: Selecionar todos

hbmk2 gas40hb.prg projeto.hbp 
O que colocar na linha de comando é adicionado na compilação, da mesma forma que fosse colocado dentro do hbp.

Se o comportamento for diferente... editor de textos bagunçou hbp.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20365
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por JoséQuintas »

Mais que isso, só se for por acesso remoto, pra tentar desvendar o mistério.
Por enquanto não faz sentido, ou sujeira no hbp invalidando o conteúdo, ou no prg.
Sei lá se no prg tem /* */ transformando tudo em comentário.
Ou sujeira UTF-8, é normal se pegar coisa de página de internet, ou até de post daqui.
Hoje meio tranquilo aqui.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20365
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por JoséQuintas »

Faz o seguinte: ANEXA o HBP, não copia o conteúdo, coloca o arquivo como anexo.
Assim ele não vai ser alterado no post.
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/
LDOSISTEMAS
Usuário Nível 2
Usuário Nível 2
Mensagens: 57
Registrado em: 01 Set 2014 17:04
Localização: CLAUDIO/MG
Contato:

Re: Erro compilação quando insiro mais prg

Mensagem por LDOSISTEMAS »

Tentei aqui usando *.prg limpando o hbp fazendo manualmente hbmk2 , em todas as situações retornou o mesmo erro. Eliminei 3 prg anteriores que que já estavam ok para dar lugar as 3 novas funções e compilou....
anexei o arquivo hbp, tive que alterar a extensão porque o site não deixou subir com essa extensão, mas o conteúdo esta ok.
Anexos
industri.txt
(8.24 KiB) Baixado 15 vezes
LAURO DE OLIVEIRA
Analista/Diretor
(37) 9 9841 0886
www.ldosistemas.com.br
Imagem
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20365
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por JoséQuintas »

Testei aqui e não tem nada anormal no hbp.
O máximo, mesmo na dúvida, seria trocar "\" por "/".

Então voltamos aos testes SEM O HBP.

Código: Selecionar todos

hbmk2 gaspp40hb.prg algumfonte.prg
A intenção aqui seria ver se somem/aparecem as funções do gasp40hb.

Outro teste NÃO CONVENCIONAL:

Código: Selecionar todos

hbmk2 gasp40hb.prg -hblib -hbx=lista.hbx
-hblib é pra gerar lib
-hbx é pra criar um hbx com a lista de funções encontradas na compilação
Olhando o hbx vai ter a visão do que está sendo encontrado nesse fonte.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20365
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por JoséQuintas »

Lembrei de uma coisa, mas não lembro bem.
Havia algo sobre diferenciar maiúsculas e minúsculas.
Não lembro que fim houve nisso, se virou automático ou não.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20365
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por JoséQuintas »

Também tem o que seria talvez mais "normal"
Primeiro a lista de todos os fontes.
Depois o resto.
Apesar de teoricamente não fazer diferença.... vai saber...

Por enquanto é mistério, chutando possíveis soluções.
Ao mesmo tempo que não faz diferença a ordem ou quebra de linha.... de repente um pode ser considerado continuação do anterior, e não fica visível isso.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20365
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por JoséQuintas »

Pera aí....
Deixei passar....

HBP é uma coisa, HBC é outra.
libs= não existe no HBP, e no seu tem.
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: 7989
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por Itamar M. Lins Jr. »

Olá!
Corrige seu código:

Código: Selecionar todos

#pragma begin dump

HB_FUN_EMAILMDFE

   // Código em linguagem C

#pragma End dump
Deve ser:

Código: Selecionar todos

#pragma BEGINDUMP
*/Se precisar/*
#include <hbapi.h>
#include <hbapiitm.h>
#include <hbapierr.h>

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

Re: Erro compilação quando insiro mais prg

Mensagem por Itamar M. Lins Jr. »

Olá!
Não entendi o pq dessas funções em C.
Essas funções todas estão no arquivo prg gasp40hb.prg
É do gaspro em C ? EMAIL/XML/MDFE...

Código: Selecionar todos

.hbmk/win/mingw/PTEN01F9.o:PTEN01F9.c:(.data+0x2d8): undefined reference to `HB_
FUN_RATEIO'
Veja se são em C mesmo.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7989
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por Itamar M. Lins Jr. »

Olá!
Vou tentar explicar :o pq de C só sei 0,0001%
Isso no Harbour(compilador) ou C
O código #pragma begin dump ou BEGINDUMP ou XYZDUMP será IGNORADO pelo compilador C. Não dá erro nenhum depois dai.
O Harbour(compilador) pega BEGINDUMP TUDO JUNTO E MAIUSCULAS e compila. No seu tá assim "begim dump" ignorado pelo harbour.
Mais ai dentro tem que ter Código/Função do Harbour JUNTO HB_PARAM() junto com o C... Não é qualquer código em C ai não.
Por exemplo, peguei um pedaço do código do Antonio Linares.

Código: Selecionar todos

#pragma BEGINDUMP

#include <hbapi.h>
#include <hbapiitm.h>
#include <hbapierr.h>

#define UNROLL_FACTOR 4
HB_FUNC( MATMUL )
{
   PHB_ITEM pMatrix1 = hb_param( 1, HB_IT_ARRAY );
   PHB_ITEM pMatrix2 = hb_param( 2, HB_IT_ARRAY );
   
   if( pMatrix1 && pMatrix2 )
   {
      HB_SIZE nRowsA = hb_arrayLen( pMatrix1 );
      HB_SIZE nColsA = hb_arrayLen( hb_arrayGetItemPtr( pMatrix1, 1 ) );
      HB_SIZE nColsB = hb_arrayLen( hb_arrayGetItemPtr( pMatrix2, 1 ) );      
Saudações,
Itamar M. Lins Jr.
LDOSISTEMAS
Usuário Nível 2
Usuário Nível 2
Mensagens: 57
Registrado em: 01 Set 2014 17:04
Localização: CLAUDIO/MG
Contato:

Re: Erro compilação quando insiro mais prg

Mensagem por LDOSISTEMAS »

boa tarde
Não tem nada em C, é tudo prg normal com codigo xbase. a função que listou é esta:

Código: Selecionar todos

proc emailmdfe(mail,nummdfe,ser,indice)
if 'CAMINHO'$M->EMP_MENU
Caminho=subs(DIREXe,1,3)
else
caminho="c:\"
endi
//rotina para enviar o email

IF !LF_ISFILE(CAMINHO+"NFIMPOR\email\mdfe")
 LF_MKDIR(CAMINHO+"NFIMPOR\email\mdfe")
ENDIf

vgorig =CAMINHO+"nfimpor\enviado\AUTORIZADOS\"+lpad(year(MDFE->dtemissao),4,"0")+;
  lpad(month(MDFE->dtemissao),2,"0")+;
"\"+MDFE->chaveMDFE+"-procmdfe.xml" //verifica se o danfe existe
IF EMPTY(MDFE->chavemdfe)
 dbox([ATENCAO ESSA  NOTA NAO FOI AUTORIZADA VERIFIQUE !])
 RETU
ENDI

lf_fcopy(vgorig,CAMINHO+"NFIMPOR\email\"+MDFE->idmdfe+".xml")
destino:=CAMINHO+"NFIMPOR\email\"+MDFE->idmdfe+".xml"
xcomand=caminho+'unimake\uninfe\unidanfe.exe arquivo='+chr(34)+destino+chr(34)+;
[ email=]+alltrim(mail)
run(xcomand)

retu
Acho que o compilador que cria o OBJ dele e mostra em C assim como na função rateio.
LAURO DE OLIVEIRA
Analista/Diretor
(37) 9 9841 0886
www.ldosistemas.com.br
Imagem
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20365
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por JoséQuintas »

LDOSISTEMAS escreveu: 06 Dez 2025 12:44 Acho que não porque se tiro os novos PRG ele já compila normalmente e as funções que ele mostra estão no arquivo que não é retirado.
Revendo as mensagens.
Na prática talvez possa ser limite sim.
Sabe porque ?
Acho que acaba sendo usada uma única linha pra tudo, e se isso for feito, pode cair em algum limite do windows.
mais de 500 nomes, supondo 10 letras por nome, vai dar uma linha de 5.000 caracteres.
Perguntando pra IA:
O limite de uma linha de comando no Windows é de 8191 caracteres no Prompt de Comando (cmd.exe). Já quando se usa a função CreateProcess, o limite é maior: 32.767 caracteres
Se precisar de linha com comandos maiores, utilize o PowerShell.
Então, limite existe, se é o seu caso ou não, não sei dizer.

Alternativa:
Dividir em libs, lembrando que se não chamar o programa diretamente ele não vai entrar no EXE.
do( "algumprograma" ) isso não vai puxar o "algumprograma" da lib

do algumprograma
ou algumprograma()
Isso vai puxar da lib.

cada parte adicional

Código: Selecionar todos

aplicativo_partex.hbp
lista com prgs
-hblib
-oaplicativo_partex
no principal, além de alguns fontes, e o que já indica

Código: Selecionar todos

-Lpathdaspartes
-laplicativo_parte2
-laplicativo_parte3
-laplicativo_parte4
SE QUISER, um hbp adicional, considerado projeto/sub-projetos

Código: Selecionar todos

-hbcontainer
aplicativo_parte2.hbp
aplicativo_parte3.hbp
aplicativo_parte4.hbp
aplicativo_geral.hbp
Ao compilar esse acima, ele vai compilar cada um dos outros.
Esse acima é só uma lista dos outros.
Lógico, se o principal depende de todos juntos, o principal tem que ser o último da lista.
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/
LDOSISTEMAS
Usuário Nível 2
Usuário Nível 2
Mensagens: 57
Registrado em: 01 Set 2014 17:04
Localização: CLAUDIO/MG
Contato:

Re: Erro compilação quando insiro mais prg

Mensagem por LDOSISTEMAS »

vou tentar aqui obrigado
LAURO DE OLIVEIRA
Analista/Diretor
(37) 9 9841 0886
www.ldosistemas.com.br
Imagem
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7989
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Erro compilação quando insiro mais prg

Mensagem por Itamar M. Lins Jr. »

Olá!
Não tem nada em C, é tudo prg normal com codigo xbase. a função que listou é esta:
Qual é a versão do Harbour que vc está usando ?
Entendi... É pq vc usou um exemplo de #pragma dai fiz confusão.
Saudações,
Itamar M. Lins Jr.
Responder