Ao invés de mexer no hbp, coloque na linha de comando.
Código: Selecionar todos
hbmk2 projeto.hbp gas40hb.prg
Código: Selecionar todos
hbmk2 gas40hb.prg projeto.hbp
Se o comportamento for diferente... editor de textos bagunçou hbp.
Moderador: Moderadores

Código: Selecionar todos
hbmk2 projeto.hbp gas40hb.prg
Código: Selecionar todos
hbmk2 gas40hb.prg projeto.hbp




Código: Selecionar todos
hbmk2 gaspp40hb.prg algumfonte.prg
Código: Selecionar todos
hbmk2 gasp40hb.prg -hblib -hbx=lista.hbx




Código: Selecionar todos
#pragma begin dump
HB_FUN_EMAILMDFE
// Código em linguagem C
#pragma End dump
Código: Selecionar todos
#pragma BEGINDUMP
*/Se precisar/*
#include <hbapi.h>
#include <hbapiitm.h>
#include <hbapierr.h>
HB_FUNC( EMAILMDFE )
{...

É do gaspro em C ? EMAIL/XML/MDFE...Essas funções todas estão no arquivo prg gasp40hb.prg
Código: Selecionar todos
.hbmk/win/mingw/PTEN01F9.o:PTEN01F9.c:(.data+0x2d8): undefined reference to `HB_
FUN_RATEIO'
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 ) );

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

Revendo as mensagens.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.
Então, limite existe, se é o seu caso ou não, não sei dizer.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.
Código: Selecionar todos
aplicativo_partex.hbp
lista com prgs
-hblib
-oaplicativo_partex
Código: Selecionar todos
-Lpathdaspartes
-laplicativo_parte2
-laplicativo_parte3
-laplicativo_parte4
Código: Selecionar todos
-hbcontainer
aplicativo_parte2.hbp
aplicativo_parte3.hbp
aplicativo_parte4.hbp
aplicativo_geral.hbp


Qual é a versão do Harbour que vc está usando ?Não tem nada em C, é tudo prg normal com codigo xbase. a função que listou é esta: