Página 1 de 4
Erro ao compilar o hbp
Enviado: 16 Fev 2015 09:56
por eciodias
Estou lendo todos os tópicos possíveis sobre o assunto, mas não vi nenhum que apresentasse este problema,
Como muitos estou migrando de clipper 5 para harbour 3.0.0, até o momento todas as divergências de comando e funções foram solucionadas, mas este erro de compilação.... não encontrei solução:
Parte do programa:
cArq := "conta.txt"
cPrinter := WIN_PRINTERGETDEFAULT()
cMsg:="Arquivo "+cArq+" impresso com sucesso!"
Erro de compilação:
Error: Unresolved external '_HB_FUN_WIN_PRINTERGETDEFAULT' referenced from C:\USERS\ECIODIAS\APPDATA\LOCAL\TEMP\HBMK_LZQ6W2.DIR\BRAD11.OBJ
A função Win_PrinterGetDefault(), PrintFileEaw() também esta dando o mesmo erro, como se elas não fizessem parte do Harbour 3.0.0.
Obrigado
Erro ao compilar o hbp
Enviado: 16 Fev 2015 10:30
por Itamar M. Lins Jr.
Ola!
Não faz!
Use o harbour 3.2 ou 3.4
Porque está usando o Harbour 3.0 ?
Estas funções, no 3.0 estão com outro nome.
Saudações,
Itamar M. Lins Jr.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 10:34
por Itamar M. Lins Jr.
<xcDevice> is the name of the device where all subsequent output will be sent. You can specify a device name as a literal character string or a character expression enclosed in parentheses. Additionally, a device can be either local or network. If you COPY TO a non-existing device you create a file with the name of the device. When specifying device names, do not use a trailing colon.
Example :
COPY FILE Prnfile.txt TO LPT1
Remember that above last command doesn’t work under Windows. Almost all Clipper commands and functions are usable in Harbour. You can apply above tests with Harbour too. And the result not changed again. Because problem isn’t compiler, but hardware and OS difference. Harbour offers additional (extended) easy ways to manage printer(s) :
WIN_PRINTEREXISTS() (old name: PRINTEREXISTS())
WIN_PRINTERSTATUS() (old name: XISPRINTER())
WIN_PRINTERPORTTONAME() (old name: PRINTERPORTTONAME())
WIN_PRINTERLIST() (old name: GETPRINTERS())
WIN_PRINTERGETDEFAULT() (old name: GETDEFAULTPRINTER())
WIN_PRINTERSETDEFAULT() (old name: SETDEFAULTPRINTER())
WIN_PRINTFILERAW() (old name: PRINTFILERAW())
For sending a file to printer we need only two of above function :
WIN_PRINTERGETDEFAULT()
WIN_PRINTFILERAW()
If we have alredy above Prnfile.txt, sending it to printer seems easy :
cDefaultPrinter := WIN_PRINTERGETDEFAULT()
WIN_PRINTFILERAW( cDefaultPrinter, Prnfile.txt )
Is that all ?
WIN_PRINTFILERAW() returns 1 if sending to printer was successful. If you test this, probably you will get 1.
May be easy like this ?
Unfortunatelly answer is “sometime” …
Although WIN_PRINTFILERAW() said “sending is successful” you may get nothing from printer.
What is meaning of “sometime” ? May be “sometime” in physic ?
In physic no, but in Windows yes !
Erro ao compilar o hbp
Enviado: 16 Fev 2015 10:37
por eciodias
Será que o meu sistema em Clipper5, que estou passando para Harbour 3.0.0, vai rodar em harbour 3.4?
Ou é melhor então eu correr atras da função WIN_PRINTERGETDEFAULT() do Harbour 3.0?
Erro ao compilar o hbp
Enviado: 16 Fev 2015 10:47
por Itamar M. Lins Jr.
É para rodar com qualquer Harbour ou xHarbour.
Apenas que no Harbour use o mais atualizado 3.2 ou 3.4 a diferença p/ o 3.0 é que tem mais correções e mais ferramentas prontas. 3.0 é muito velho.
use esse:
https://sourceforge.net/projects/harbou ... e/download
Saudações,
Itamar M. Lins Jr.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 10:51
por Jairo Maia
Olá eciodias,
O aconselhável seria mesmo usar a versão 3.2 (ou a 3.4), mas essa função é da lib hbwin. Funciona também na 3.0 mas você precisa linkar essa lib.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 11:05
por eciodias
Ok, instalei o Harbour 3.2
Quando fui compilar, deu o seguinte erro ......
Brad11.prg(2807) Error E0030 Syntax error "syntax error at ´=´"
Sendo que nesta linha esta assim:
cArq := "conta.txt"
cPrinter := WIN_PRINTERGETDEFAULT()
cMsg:="Arquivo "+cArq+" impresso com sucesso!"
nResult : = PrintFileRaw( cPrinter, cArq, "Titulo da Impressao" ) = Esta é alinha 2807
Erro ao compilar o hbp
Enviado: 16 Fev 2015 11:06
por Itamar M. Lins Jr.
Funciona também na 3.0 mas você precisa linkar essa lib.
Está com outro nome, o antigo que era igual do xHb.
Saudações,
Itamar M. Lins Jr.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 11:10
por eciodias
cArq := "conta.txt"
cPrinter := WIN_PRINTERGETDEFAULT()
cMsg:="Arquivo "+cArq+" impresso com sucesso!"
nResult : = Win_PrintFileRaw( cPrinter, cArq, "Titulo da Impressao" )
Deu a mesma mensagem........
Erro ao compilar o hbp
Enviado: 16 Fev 2015 11:23
por eciodias
Tirei estas linhas do programa para continuar e resolver isto depois e o resultado foi pior.....
O programa não consegue mais compilar, linkeditar e o executável não existe.....
A path esta assim:
c:\Borland\Bcc55\Bin;c:\hb32\Bin;c:\hb32\lib;c:\Borland\Bcc55\Lib;c:\temp
Tem algo errado?
Erro ao compilar o hbp
Enviado: 16 Fev 2015 11:31
por Itamar M. Lins Jr.
tem um espaço : = !!!!
Saudações,
Itamar M. Lins Jr.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 11:40
por Toledo
eciodias escreveu:A path esta assim:
c:\Borland\Bcc55\Bin;c:\hb32\Bin;c:\hb32\lib;c:\Borland\Bcc55\Lib;c:\temp
Deixe seu path assim:
set path=C:\hb32\bin;C:\hb32\comp\mingw\bin;
set HB_COMPILER=mingw
eciodias escreveu:nResult : = PrintFileRaw( cPrinter, cArq, "Titulo da Impressao" ) = Esta é alinha 2807
Tire o espaço que tem em
: =
Abraços,
Erro ao compilar o hbp
Enviado: 16 Fev 2015 12:02
por Jairo Maia
Itamar M. Lins Jr. escreveu:Está com outro nome, o antigo que era igual do xHb.
Na versão 3.0, Win_PrinterGetDefault() funciona normalmente, e também usando o nome antigo. Nesta versão foi a transição, e tem ambas, e ambas estão na lib hbwin.
Erro ao compilar o hbp
Enviado: 16 Fev 2015 13:12
por eciodias
Boa..., mas continua não criando o executável BR.EXE.
Mensagem no final da compilação:
hbmk2: Dica: Adicionar opção 'hbwin.hbc' faltando nas funções: win_PrintFileRaw(), win_printerGetDefault()
Meu hbp esta assim:
Projeto.hbp
-oBR
BR
ROTINA
TELASS
IMPRIM
FUNCAO
FUNNET
BRADM
BrAd11
Erro ao compilar o hbp
Enviado: 16 Fev 2015 13:27
por Jairo Maia
Olá eciodias,
Tente alterar minimamente seu arquivo .hbp desta forma:
Código: Selecionar todos
-inc
-gui
-lxhb
-lhbwin
-oBR.EXE
BR.PRG
ROTINA.PRG
TELASS.PRG
IMPRIM.PRG
FUNCAO.PRG
FUNNET.PRG
BRADM.PRG
BrAd11.PRG
Nota: Para melhor entender como criar seu .hbp, veja o item 4 deste post:
Migrar Clipper para Harbour