Erro ao compilar o hbp

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

Moderador: Moderadores

eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem 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
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

Erro ao compilar o hbp

Mensagem 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.
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

Erro ao compilar o hbp

Mensagem 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 !
Saudações,
Itamar M. Lins Jr.
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem 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?
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

Erro ao compilar o hbp

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Erro ao compilar o hbp

Mensagem 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.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem 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
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

Erro ao compilar o hbp

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem 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........
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem 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?
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

Erro ao compilar o hbp

Mensagem por Itamar M. Lins Jr. »

tem um espaço : = !!!!

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Erro ao compilar o hbp

Mensagem 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,
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
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Erro ao compilar o hbp

Mensagem 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.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
eciodias
Usuário Nível 1
Usuário Nível 1
Mensagens: 31
Registrado em: 26 Set 2012 10:21
Localização: Belo Horizonte/MG

Erro ao compilar o hbp

Mensagem 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
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Erro ao compilar o hbp

Mensagem 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
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder