Simplificando fontes - hbnfe (Harbour -w3 -es2)

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

Moderador: Moderadores

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

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Vou usar a hbnfe pra mostrar como dá pra facilitar fontes.
E também o quanto compilar usando -w3 -es2 facilita modificações posteriores.

Procurar não postar fontes específicos dela, apenas se for alguma coisa genérica, ou algo que exemplifique a mudança.

Neste momento criei novamente um fork, pra fazer do zero.

Primeira etapa:
Precisa compilar no Harbour.

criar meus arquivinhos de sempre, por enquanto apenas pra conseguir compilar, sem usar -w3 -es2:

Código: Selecionar todos

c.bat
hbmk2 hbnfe.hbp

Código: Selecionar todos

hbnfe.hbp
*.prg
-workdir=c:\temp
-Jobs=1
Nota:
É do meu jeito, não significa que seja o modo correto de se fazer.
Tinha feito isso da outra vez, mas vou refazer porque pode ajudar.
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Código: Selecionar todos

-Jobs=1
Isso é porque, por padrão, o hbmk2 do Harbour 3.4 é multithread.
Significa que vários fontes vão ser compilados de uma vez, e apresentados os erros, muitas vezes misturados.
Definindo Jobs=1, vou poder enxergar apenas um fonte por vez, e só passa pro próximo após corrigir o anterior.
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Conflito na primeira compilação
Compiling 'hbini.prg'...
hbini.prg(83) Error E0030 Syntax error "syntax error at 'CLINECOMMENT'"
hbini.prg(84) Error E0030 Syntax error "syntax error at 'CHALFLINECOMMENT'"
2 erros
É um comando GLOBAL pra declarar variável.
Nem vou tentar entender. Alterar isso pra STATIC resolve.
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

hbMDFe.prg(3) Error F0029 Can't open #include file 'hbnfe.ch'
Ok. Acrescentar a pasta do include no hbp.

[hbnfe.hbp]
-I..\include
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

hbMDFe.prg(4) Error F0029 Can't open #include file 'HBXML.ch'
Não gosto disso, mas acrescentar a compatibilidade xHarbour no hbp.
Motivo: mais coisas são modificadas, não apenas isso.

Código: Selecionar todos

xhb.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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Agora a lista é grande...
Compiling 'hbMDFe.prg'...
hbMDFe.prg(304) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(308) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(309) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(313) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(317) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(318) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(322) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(326) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(327) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(329) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(333) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(334) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(335) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(339) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(340) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(399) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(403) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(404) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(405) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(409) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(410) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(413) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(417) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(418) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(421) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(425) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(426) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(427) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(431) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(432) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(444) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(465) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(466) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(467) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(486) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(487) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(581) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(587) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(593) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(595) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(600) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(606) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(608) Error E0030 Syntax error "syntax error at 'NEXT'"
hbMDFe.prg(609) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(611) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(614) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(615) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(616) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(618) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(619) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(620) Error E0013 NEXT does not match FOR
hbMDFe.prg(622) Error E0030 Syntax error "syntax error at 'ENDIF'"
hbMDFe.prg(623) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(624) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(627) Error E0013 NEXT does not match FOR
hbMDFe.prg(638) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(644) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(650) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(652) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(657) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(663) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(665) Error E0030 Syntax error "syntax error at 'NEXT'"
hbMDFe.prg(666) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(668) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(669) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(671) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(672) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(673) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(675) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(676) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(677) Error E0013 NEXT does not match FOR
hbMDFe.prg(679) Error E0030 Syntax error "syntax error at 'ENDIF'"
hbMDFe.prg(680) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(681) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(684) Error E0013 NEXT does not match FOR
hbMDFe.prg(692) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(698) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(704) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(706) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(711) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(717) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(719) Error E0030 Syntax error "syntax error at 'NEXT'"
hbMDFe.prg(720) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(722) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(723) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(725) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(726) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(727) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(729) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(730) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(731) Error E0013 NEXT does not match FOR
hbMDFe.prg(733) Error E0030 Syntax error "syntax error at 'ENDIF'"
hbMDFe.prg(734) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(735) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(738) Error E0013 NEXT does not match FOR
hbMDFe.prg(751) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(757) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(763) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(765) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(770) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(776) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(778) Error E0030 Syntax error "syntax error at 'NEXT'"
hbMDFe.prg(779) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(781) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(782) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(784) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(785) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(786) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(788) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(789) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(790) Error E0013 NEXT does not match FOR
hbMDFe.prg(792) Error E0030 Syntax error "syntax error at 'ENDIF'"
hbMDFe.prg(793) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(794) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(797) Error E0013 NEXT does not match FOR
hbMDFe.prg(799) Error E0013 NEXT does not match FOR
hbMDFe.prg(814) Error E0017 Unclosed control structure 'IF'
hbMDFe.prg(874) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(878) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(880) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(884) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(885) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(887) Error E0010 ENDIF does not match IF
hbMDFe.prg(973) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(979) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(982) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(990) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(996) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(999) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1035) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1037) Error E0030 Syntax error "syntax error at 'OERROR'"
hbMDFe.prg(1045) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1048) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1050) Error E0030 Syntax error "syntax error at 'OERROR'"
hbMDFe.prg(1058) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1062) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1064) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1067) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1074) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1076) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1079) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1094) Error E0021 Incorrect number of arguments in AT
Passed: 3, expected: 2
hbMDFe.prg(1135) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1137) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1140) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1142) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1147) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1150) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1160) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1162) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1165) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1186) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1192) Error E0030 Syntax error "syntax error at 'OERROR'"
hbMDFe.prg(1200) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1236) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1238) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1239) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1254) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1260) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1263) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1270) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1277) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1280) Error E0030 Syntax error "syntax error at 'END'"
hbMDFe.prg(1290) Error E0020 Incomplete statement or unbalanced delimiters
hbMDFe.prg(1292) Error E0030 Syntax error "syntax error at 'E'"
hbMDFe.prg(1300) Error E0030 Syntax error "syntax error at 'END'"
166 errors
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Ok. Precisa no fonte:

Código: Selecionar todos

#include "hbcompat.ch"
A lista reduziu.
Compiling 'hbMDFe.prg'...
hbMDFe.prg(235) Error E0030 Syntax error "syntax error at '.'"
hbMDFe.prg(238) Error E0014 ELSE does not match IF
hbMDFe.prg(240) Error E0010 ENDIF does not match IF
hbMDFe.prg(346) Error E0030 Syntax error "syntax error at '.'"
hbMDFe.prg(349) Error E0014 ELSE does not match IF
hbMDFe.prg(351) Error E0010 ENDIF does not match IF
hbMDFe.prg(502) Error E0030 Syntax error "syntax error at '.'"
hbMDFe.prg(505) Error E0014 ELSE does not match IF
hbMDFe.prg(507) Error E0010 ENDIF does not match IF
hbMDFe.prg(804) Error E0030 Syntax error "syntax error at '.'"
hbMDFe.prg(807) Error E0014 ELSE does not match IF
hbMDFe.prg(809) Error E0010 ENDIF does not match IF
hbMDFe.prg(893) Error E0030 Syntax error "syntax error at '.'"
hbMDFe.prg(896) Error E0014 ELSE does not match IF
hbMDFe.prg(898) Error E0010 ENDIF does not match IF
hbMDFe.prg(1113) Error E0030 Syntax error "syntax error at '.'"
hbMDFe.prg(1116) Error E0014 ELSE does not match IF
hbMDFe.prg(1119) Error E0010 ENDIF does not match IF
hbMDFe.prg(1691) Error E0030 Syntax error "syntax error at '.'"
hbMDFe.prg(1694) Error E0010 ENDIF does not match IF
20 erros
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Aqui é um recurso do xHarbour, a MemoWrit() não é igual do Clipper/Harbour.
Tem um parâmetro a mais pra indicar se é compatível com DOS (o control-Z)

Código: Selecionar todos

MemoWrit( arquivo, texto, EOF )
Tamanho do problema: 63 linhas usando isso.

Se usar #ifdef XHARBOUR, vai aumentar 4 linhas em cada local, o que dá 252 linhas a serem acrescentadas.
E vai resultar em um fonte mais chato de analisar.

Minha saída:
Alterar o fonte pra HARBOUR, e criar uma função de compatibilidade pra xHarbour.
Isso aumenta o fonte geral em 4 linhas, ao invés de 252.
De quebra, elimina 63 parâmetros, e já começa uma biblioteca de compatibilidade.

Código: Selecionar todos

hb_MemoWrit( arquivo, texto )

#ifdef __XHARBOUR__
FUNCTION hb_MemoWrit( arquivo, texto )
   RETURN MemoWrit( arquivo, texto, .F. )
#endif

Esse vai demorar... são 63 linhas pra mexer.
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Pronto.
Nessa alteração encontrei um que estava sem o parâmetro.
O XML seria rejeitado por causa disso.
Mas agora não precisa de parâmetro nenhum, então vai estar sempre certo.

Aproveitei pra acrescentar a referência a mais duas LIBs necessárias no HBP:

Código: Selecionar todos

hbhpdf.hbc
hbzebra.hbc
Agora na linquedição, acusou estes erros:
hbMDFe.obj : error LNK2001: unresolved external symbol _HB_FUN_MYSENDMAIL
hbMDFe.obj : error LNK2001: unresolved external symbol _HB_FUN_FRREPORTMANAGER
hbNFe.obj : error LNK2001: unresolved external symbol _HB_FUN_CAMINHO_EXE
hbNFeDSF.obj : error LNK2001: unresolved external symbol _HB_FUN_CAMINHO_EXE
hbNFe.obj : error LNK2001: unresolved external symbol _HB_FUN_MYRUN2
hbNFeDSF.obj : error LNK2001: unresolved external symbol _HB_FUN_MYRUN2
hbNFe.obj : error LNK2001: unresolved external symbol _HB_FUN_SN
hbNFeRetornoRecepcao.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeEvento.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeInutiliza.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeManifestacaoDestinatario.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeRecepcaoLote.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeCancela.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeCCe.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeConsulta.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeConsultaCadastro.obj : error LNK2001: unresolved external symbol _HB_FUN_HB_ANSITOOEM
hbNFeDSF.obj : error LNK2001: unresolved external symbol _HB_FUN_PEGA_ARQUIVO_SAGI
hbNFeDSF.obj : error LNK2001: unresolved external symbol _HB_FUN_SETENVIRONMENTVARIABLE
hbNFeDSF.obj : error LNK2001: unresolved external symbol _HB_FUN_OCTE_GERAIS
hbNFeFuncoes.obj : error LNK2001: unresolved external symbol _HB_FUN_OCTE_GERAIS
hbNFeFuncoes.obj : error LNK2001: unresolved external symbol _HB_FUN_HTMLTOANSI
hbini.exe : fatal error LNK1120: 10 unresolved externals
hbmk2 [hbnfe]: Error: Running linker. 1120
link.exe @C:\Users\joseq\AppData\Local\Temp\hrukk1.lnk

hbmk2: Hint: Add input file 'hbct.hbc' for missing Harbour function(s): Sin()
hbmk2: Hint: Correct possibly mistyped function name(s):
SN() -> Sin()
hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
MYSENDMAIL(), FRREPORTMANAGER(), CAMINHO_EXE(), MYRUN2(),
HB_ANSITOOEM(), PEGA_ARQUIVO_SAGI(), SETENVIRONMENTVARIABLE(),
OCTE_GERAIS(), HTMLTOANSI()
No Harbour 3.4, o hbmk2 já tenta ajudar, dando algumas dicas do que poderia ser.

Agora precisa de tempo pra verificar.
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Só pra compilar, sem olhar o que faz cada função, criei este arquivo.

Código: Selecionar todos

* Compatibilidade xHarbour com Harbour

#ifdef __XHARBOUR__

   FUNCTION hb_MemoWrit( cArquivo, cTexto )
      RETURN MemoWrit( cArquivo, cTexto, .F. )

#else

   FUNCTION hb_AnsiToOem( cTexto )
      RETURN cTexto

   FUNCTION HtmlToAnsi( cTexto )
      RETURN cTexto

   FUNCTION MySendMail( ... )
      RETURN NIL

   FUNCTION FRReportManager( ... )
      RETURN NIL

   FUNCTION Pega_Arquivo_Sagi( ... )
      RETURN NIL

   FUNCTION oCte_Gerais( ... )
      RETURN NIL

   FUNCTION Caminho_Exe( ... )
      RETURN ".\"

   FUNCTION SN( ... )
      RETURN "N"

   FUNCTION MyRun2( cComando )
      RUN ( cComando )

   FUNCTION SetEnvironmentVariable( ... )
      RETURN NIL

#endif
Por enquanto melhor não se preocupar com algumas.
Nem sei se vai ser necessária a OemToAnsi/AnsiToOem, conforme a codepage utilizada, então melhor deixar pra depois.

Compilou.
Agora é confirmar aonde essas funções estão sendo usadas, pra ver se precisa alguma alternativa.
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Esqueci de dizer:
Como está no github, é um fork da hbnfe, é só pesquisar hbnfe no github que encontra os fontes.
Pelo próprio git dá pra juntar as alterações.

Não sei dizer detalhes, de vez em quando me perco aqui em fazer isso, quando tem alteração nos dois lados.

https://github.com/JoseQuintas/hbnfe

Só curiosidade: teve um aumento de exatamente 50 letras.
Isso inclui acrescentar c.bat, hbnfe.hbp e o xxharbour.prg contendo compatibilidade.
Já compensou um pouco ter eliminado os parâmetros aonde antes era MemoWrit().
hbnfe.png
hbnfe.png (2.11 KiB) Exibido 6124 vezes
É só curiosidade.
Mas pra finalidade do post pode ser interessante mostrar isso.

Agora já vou pra parte que virou mania:
APAGAR FONTE
Vamos ver o que dá pra simplificar e apagar.
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Perguntaram uma vez para o que eu usava o meu jpa.ch.
Vou fazer parecido na hbnfe.

Praticamente todo fonte tem isto:

Código: Selecionar todos

#include "common.ch"
#include "hbclass.ch"
#ifndef __XHARBOUR__
   #include "hbwin.ch"
   #include "harupdf.ch"
   #include "hbzebra.ch"
   #include "hbcompat.ch"
#endif
#include "hbnfe.ch"
Vou simplificar.
Colocar tudo em hbnfe.ch, já que todo projeto depende dele, já pega tudo de uma vez.
Um arquivo #include pode conter outros #include, então isso não é problema.
Nos fontes vai ficar só #include 'hbnfe.ch"
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Uia... tinha aumentado 50 letras, agora reduziu 124.
Primeira reduzida.
hbnfe.png
hbnfe.png (2.07 KiB) Exibido 6124 vezes
Mas todo fonte tem algo assim:

Código: Selecionar todos

#ifdef __XHARBOUR__
   oStoreMem := xhb_CreateObject('CAPICOM.Store')
#else
   oStoreMem := win_oleCreateObject('CAPICOM.Store')
#endif
Usar o mesmo esquema do hb_MemoEdit().
Criar uma função de compatibilidade win_OleCreateObject() para o xHarbour.

Código: Selecionar todos

   FUNCTION win_OleCreateObject( cNomeObjeto )
      RETURN xhb_CreateObject( cNomeObjeto )
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Uia de novo.
hbnfe.png
hbnfe.png (2.06 KiB) Exibido 6120 vezes
Reduziu 168 letras.
Nesta troca, encontrei alguns locais aonde não estava preparado pra Harbour/xHarbour.
Acabei "consertando", só de estar reduzindo fonte.

Quero chamar a atenção no seguinte:
Estou fazendo o que qualquer um pode fazer, que é simplificar fonte.
Até agora não usei nada de incomum, é o que todo mundo conhece.
Só de fazer isso, já houve vantagem, que foi encontrar alguns pontos que precisavam de atenção.

Menos fonte é isso:
Não se refere exatamente a economizar letras, mas sim de melhorar ainda mais a qualidade do fonte que já existe.

Lógico, quem fosse usar os fontes em Harbour, seria só ajustar pra compatibilidade, nada grave.
Mas pense bem: ficar consertando fonte "sem querer"... não é ótimo isso? Não vale a pena?

E ainda nem usei -w3 -es2
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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Simplificando fontes - hbnfe (Harbour -w3 -es2)

Mensagem por JoséQuintas »

Primeiro teste usando -w3 -es2. É preciso ter paciência, e verificar o porquê.
Não declarar a variável resulta em erro em TODAS as linhas que usarem a variável.
Então é comum a lista ser grande pra um fonte que não tem isso.

Mostra muitos erros, mas o primeiro é um erro que eu cometi.
Coloquei repetido #include "hbcompat.ch".
Na compilação normal isso não aparece, só aparece se usar -w3 -es2.

Mostrei a lista completa, pra ver que é normal, assim quem for usar não se assusta com lista grande.
Já dá pra ver também alguns erros interressantes:
- atribuir valor a uma variável, e não usar esse valor pra nada
- criar uma variável e não usar pra nada
- criar uma classe dizendo que vai ser uma coisa, e é outra

Sem pressa. Começar declarando as variáveis que não foram declaradas pra lista ficar menor (e retirar o include repetido).
Compiling 'hbMDFe.prg'...
d:\harbour\contrib\xhb\hbcompat.ch(265) Warning W0002 Redefinition or duplicate definition of #define GTI_WINDOW
d:\harbour\contrib\xhb\hbcompat.ch(266) Warning W0002 Redefinition or duplicate definition of #define GTI_SCREEN
d:\harbour\contrib\xhb\hbcompat.ch(267) Warning W0002 Redefinition or duplicate definition of #define GTI_CLIENT
d:\harbour\contrib\xhb\hbcompat.ch(268) Warning W0002 Redefinition or duplicate definition of #define GTI_MAX
d:\harbour\contrib\xhb\hbcompat.ch(339) Warning W0002 Redefinition or duplicate definition of #define HB_GTI_CLIPBOARDP
AST
hbMDFe.prg(99) Warning W0001 Method <LinkWebService(cServ)> not declared or declaration mismatch in class <hbMDFe>
hbMDFe.prg(121) Warning W0032 Variable 'NSCAN' is assigned but not used in function 'HBMDFE_LINKWEBSERVICE(105)'
hbMDFe.prg(243) Warning W0032 Variable 'MI' is assigned but not used in function 'HBMDFE_XMLIDE(127)'
hbMDFe.prg(509) Warning W0032 Variable 'MI' is assigned but not used in function 'HBMDFE_XMLMODALRODOVIARIO(362)'
hbMDFe.prg(581) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(582) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(583) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(586) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(587) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(587) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(588) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(588) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(588) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(594) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(595) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(595) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(596) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(596) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(599) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(600) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(600) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(600) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(601) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(601) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(601) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(601) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(605) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(605) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(605) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(607) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(607) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(614) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(617) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(617) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(638) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(639) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(640) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(643) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(644) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(644) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(645) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(645) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(645) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(651) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(652) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(652) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(653) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(653) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(656) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(657) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(657) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(657) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(658) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(658) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(658) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(658) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(662) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(662) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(662) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(664) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(664) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(671) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(674) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(674) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(692) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(693) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(694) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(697) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(698) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(698) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(699) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(699) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(699) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(705) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(706) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(706) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(707) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(707) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(710) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(711) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(711) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(711) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(712) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(712) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(712) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(712) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(716) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(716) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(716) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(718) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(718) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(725) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(728) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(728) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(751) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(752) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(753) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(756) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(757) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(757) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(758) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(758) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(758) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(764) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(765) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(765) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(766) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(766) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(769) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(770) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(770) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(770) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(771) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(771) Warning W0001 Ambiguous reference 'CCCCI'
hbMDFe.prg(771) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(771) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(775) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(775) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(775) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(777) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(777) Warning W0001 Ambiguous reference 'CCCI'
hbMDFe.prg(784) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(787) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(787) Warning W0001 Ambiguous reference 'CCI'
hbMDFe.prg(811) Warning W0032 Variable 'MI' is assigned but not used in function 'HBMDFE_XMLDOCUMENTOS(516)'
hbMDFe.prg(811) Warning W0032 Variable 'CI' is assigned but not used in function 'HBMDFE_XMLDOCUMENTOS(516)'
hbMDFe.prg(901) Warning W0032 Variable 'MI' is assigned but not used in function 'HBMDFE_XMLTOT(818)'
hbMDFe.prg(1022) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1028) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1028) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1028) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1028) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1028) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1035) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1041) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1041) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1041) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1041) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1041) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1108) Warning W0032 Variable 'CXMLSIG' is assigned but not used in function 'HBMDFE_ASSINA_XML(908)'
hbMDFe.prg(1108) Warning W0032 Variable 'POSINI' is assigned but not used in function 'HBMDFE_ASSINA_XML(909)'
hbMDFe.prg(1108) Warning W0032 Variable 'POSFIM' is assigned but not used in function 'HBMDFE_ASSINA_XML(909)'
hbMDFe.prg(1108) Warning W0032 Variable 'NP' is assigned but not used in function 'HBMDFE_ASSINA_XML(909)'
hbMDFe.prg(1108) Warning W0032 Variable 'NRESULT' is assigned but not used in function 'HBMDFE_ASSINA_XML(909)'
hbMDFe.prg(1177) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1183) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1183) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1183) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1183) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1183) Warning W0001 Ambiguous reference 'OERROR'
hbMDFe.prg(1256) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1257) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1258) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1259) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1260) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1261) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1266) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1271) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1271) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1271) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1271) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1276) Warning W0001 Ambiguous reference 'ODOMDOC'
hbMDFe.prg(1277) Warning W0001 Ambiguous reference 'E'
hbMDFe.prg(1283) Warning W0001 Ambiguous reference 'E'
hbMDFe.prg(1283) Warning W0001 Ambiguous reference 'E'
hbMDFe.prg(1283) Warning W0001 Ambiguous reference 'E'
hbMDFe.prg(1283) Warning W0001 Ambiguous reference 'E'
hbMDFe.prg(1283) Warning W0001 Ambiguous reference 'E'
hbMDFe.prg(1296) Warning W0032 Variable 'CURLWS' is assigned but not used in function 'HBMDFE_COMUNICAWEBSERVICE(1210)'

hbMDFe.prg(1365) Warning W0003 Variable 'OSERVERWS' declared but not used in function 'HBMDFE_RECEPCAOMDFE(1301)'
hbMDFe.prg(1365) Warning W0003 Variable 'ODOMDOC' declared but not used in function 'HBMDFE_RECEPCAOMDFE(1301)'
hbMDFe.prg(1365) Warning W0003 Variable 'E' declared but not used in function 'HBMDFE_RECEPCAOMDFE(1301)'
hbMDFe.prg(1365) Warning W0032 Variable 'CCERT' is assigned but not used in function 'HBMDFE_RECEPCAOMDFE(1303)'
hbMDFe.prg(1365) Warning W0032 Variable 'CURLWS' is assigned but not used in function 'HBMDFE_RECEPCAOMDFE(1303)'
hbMDFe.prg(1365) Warning W0032 Variable 'CXMLRESP' is assigned but not used in function 'HBMDFE_RECEPCAOMDFE(1303)'
hbMDFe.prg(1453) Warning W0032 Variable 'CXMLRESP' is assigned but not used in function 'HBMDFE_RETRECEPCAOMDFE(1371)'
hbMDFe.prg(1565) Warning W0032 Variable 'CXMLRESP' is assigned but not used in function 'HBMDFE_CONSULTAMDF(1459)'
hbMDFe.prg(1565) Warning W0032 Variable 'CXMLINFPROT' is assigned but not used in function 'HBMDFE_CONSULTAMDF(1459)'
hbMDFe.prg(1565) Warning W0032 Variable 'CXMLEVENTOMDFE' is assigned but not used in function 'HBMDFE_CONSULTAMDF(1459)
'
hbMDFe.prg(1565) Warning W0032 Variable 'CXMLEVCANCMDFE' is assigned but not used in function 'HBMDFE_CONSULTAMDF(1459)
'
hbMDFe.prg(1565) Warning W0032 Variable 'CXMLRETEVENTOMDFE' is assigned but not used in function 'HBMDFE_CONSULTAMDF(14
59)'
hbMDFe.prg(1619) Warning W0001 Method <MDFeEvento(cXMLeve)> not declared or declaration mismatch in class <hbMDFe>
hbMDFe.prg(1619) Warning W0032 Variable 'CXMLRESP' is assigned but not used in function 'HBMDFE_STATUSSERVICO(1571)'
hbMDFe.prg(1715) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1720) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1722) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1722) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1723) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1724) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1725) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1726) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1727) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1728) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1729) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1730) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1731) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1732) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1733) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1734) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1816) Warning W0032 Variable 'CXMLRESP' is assigned but not used in function 'HBMDFE_MDFECANCELA(1745)'
hbMDFe.prg(1874) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1875) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1875) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1877) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1878) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1879) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1881) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1882) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1883) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1884) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1885) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1886) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1887) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1888) Warning W0001 Ambiguous reference 'CXMLRESP'
hbMDFe.prg(1974) Warning W0001 Ambiguous reference 'NSCAN'
hbMDFe.prg(1975) Warning W0001 Ambiguous reference 'NSCAN'
hbMDFe.prg(1976) Warning W0001 Ambiguous reference 'NSCAN'
2000
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/
Responder