Clipper On Line • Ver Tópico - ao compilar referencia a arquivos CH

ao compilar referencia a arquivos CH

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

ao compilar referencia a arquivos CH

Mensagempor mmaciel11 » 26 Jun 2008 17:06

Bom tarde a todos,

estou fazendo uma rotina para impressao, mais quando estou compilando aparece a seguinte mensagem

Error: Unresolved external '_HB_FUN_HBPRINTER' referenced from C:\SGHWIN

Inicio do programa faço assim:

#include 'Inkey.ch'
#include 'Minigui.ch'
#include 'Sistema.ch'
#include 'winprint.ch'

esses CH tenho que copiar pra dentro da minha pasta do programa em desenvolvimento,
nao sei se estou certo ???

minha funcao de impressao somente inicio

Function BTN_Imprimir_FOLHA()
         Local nLinha     := 0
         Local nPagina    := 1
         Local _rend      := 0
         Local _rend_total:= 0
         Local _descontos := 0
         Local _qtd       := 0
         Local _total     := 0
         Local _fgts      := 0
         Local _fgts_total:= 0

         Close All
         UseEventos()             
         UseFuncionarios()
         UseMov()
         
         PRIVATE aPrinters, aports

          INIT PRINTSYS
              GET PRINTERS TO aprinters
              GET PORTS TO aports
          RELEASE PRINTSYS
    
         INIT PRINTSYS
              SELECT BY DIALOG PREVIEW
              // chama caixa de dialogo do windows
              // com PREVIEW
                     
              If HBPRNERROR>0
                 return
              Endif

              Set Page orientation DMORIENT_PORTRAIT papersize DMPAPER_A4 font "f0"

              define font "f0" name "courier new" size 12 bold
              define font "f1" name "courier new" size 10 bold
              define font "f2" name "times new roman" size 30 width 30 bold italic underline strikeout
              define font "f3" name "times new roman" size 30 bold
              define font "f4" name "times new roman" size 12 bold

              define pen "p0" style PS_SOLID width 1 color 0x000000
              define pen "p1" style PS_SOLID width 10 color 0xFF0000
              define pen "p2" style PS_NULL

              define brush "b0" style BS_SOLID color 0xCCFFAA
              define brush "b1" style BS_HATCHED color hbprn:dxcolors("YELLOW") hatch HS_DIAGCROSS
              define brush "b2" style BS_NULL

              Select font "f0"
              Select pen  "p0"

              START DOC NAME "SGH - Repasse a Terceiros"
              SELECT PEN   "P1"
              SELECT BRUSH "B0"

              START PAGE
                     
                    DbSelectArea('Funcionario')
                      OrdSetFocus('Funcion2')
                      Funcionario->(DbGoTop())

                    // EMPRESA ATUAL

       
                    Cab_FGTS(nPagina)
                    @ 05, 05 say 'Folha'     FONT 'f0' to PRINT
                    @ 06, 05, 06, 150 LINE  PEN 'P1'
                    @ 07, 06 say 'Cod'       FONT 'f0' TO PRINT 
                    @ 07, 12 Say 'Nome'      FONT 'f0' TO PRINT
                    @ 07, 60 Say 'Valor R$'  FONT 'f0' TO PRINT
                    @ 07, 80 Say 'FGTS'      FONT 'f0' TO PRINT         
                    @ 08, 05, 08, 150 LINE  PEN 'P1'         
                     
                    nLinha := 9

                    Do While .not. Eof()
                       If Funcionario->codemp = Wcodemp
                          DbSelectArea('Mov')
                            OrdSetFocus('Mov1')
                            Mov->(DbGoTop())
   
                            Seek str(Wcodemp,2)+substr(Wmesano,3,4)+substr(Wmesano,1,2)+str(Funcionario->codfunc,5)

                            If Found()
                             @ nLinha, 05 Say Str(Funcionario->codfunc,5) FONT 'f0' TO PRINT
                             @ nLinha, 12 Say funcionario->nome           FONT 'f0' TO PRINT

                             Do While !Eof()
                                DbSelectArea('Evento')
                                OrdSetFocus('Evento1')
                                  Evento->(DbGoTop())
         
                                Evento->(DbSeek(str(Mov->codevento,3)))
         
                                DbSelectArea('Mov')
                                 OrdSetFocus('Mov1')           
                               
                                If codemp = Wcodemp .and. anomes = substr(Wmesano,3,4)+substr(Wmesano,1,2) .and.;
                                   codfunc = Funcionario->codfunc .and.;
                                   Evento->tipo = 'R' .and. codevento # 90
                                 
                                   nLinha++
                                   @ nLinha, 12 Say codevento    FONT 'f0' TO PRINT
                                   @ nLinha, 30 Say valor        FONT 'f0' TO PRINT
                                   _rend = _rend + valor
                                Endif

                                Mov->(DbSkip())
                             Enddo

                             _fgts       = _rend * 8 / 100
                             _fgts_total = _fgts_total + _fgts

                             @ nLinha,60 say trans(_rend,'@E 9,999.99') FONT 'f0' TO PRINT
                             @ nLinha,79 say trans(_fgts,'@E 9,999.99') FONT 'f0' TO PRINT
                             nLinha ++
                             _rend_total = _rend_total + _rend
                             _total      = _total + _rend_total
                             _qtd        = _qtd   + 1
                          Endif
                       Endif   
                       _rend       = 0
                       _rend_total = 0
                       _fgts       = 0
                       
                       DbSelectArea('Funcionario')
                       OrdSetFocus('Funcion2')
                           
                       If nLinha >= 64
                          Rod_FGTS()
                            END PAGE
                            START PAGE
                          nPagina ++
                          Cab_FGTS(nPagina)
                          @ 05, 05 say 'Relação de Funcionários - FGTS - Mês/Ano: '+substr(Wmesano,1,2)+'/'+substr(Wmesano,3,4)   FONT 'f0' to PRINT
                          @ 06, 05, 06, 150 LINE  PEN 'P1'
                          @ 07, 06 say 'Cod'                         FONT 'f0' TO PRINT 
                          @ 07, 12 Say 'Nome'                        FONT 'f0' TO PRINT
                          @ 07, 60 Say 'Valor R$'                    FONT 'f0' TO PRINT
                          @ 07, 80 Say 'FGTS'                        FONT 'f0' TO PRINT         
                          @ 08, 05, 08, 150 LINE  PEN 'P1'         
                          nLinha := 9
                       Endif
                       Funcionario->(DbSkip())
                    Enddo
                      @ nLinha,05 ,nLinha, 150 LINE  PEN 'P1'                     
                      nLinha ++                     
                      @ nLinha,10 say trans(_qtd,'@E 99999')               FONT 'f0' TO PRINT
                      @ nLinha,55 say trans(_total,'@E 9,999,999.99')      FONT 'f0' TO PRINT
                      @ nLinha,74 say trans(_fgts_total,'@E 9,999,999.99') FONT 'f0' TO PRINT
                      Rod_FGTS()
                     
              END DOC
             
         RELEASE PRINTSYS

         RETURN

*---------------------------
Function Cab_FGTS(pPagina)
         @ 01, 05 Say WEmpresa                      FONT 'f0' to print
         @ 02, 05 Say WSistema                      FONT 'f0' to PRINT
         @ 02, 50 Say 'Emissão: '+DtoC(Date())      FONT 'f0' to PRINT
         @ 02, 80 Say 'Página: '+StrZero(pPagina,3) FONT 'f0' TO PRINT
         @ 03, 05, 03, 150 LINE  PEN 'P1'
         Return(Nil)
*---------------------------
Function Rod_FGTS()
         @ 66, 05, 66, 150 LINE PEN 'P1'
         @ 67, 05 Say 'Impresso em '+DtoC(Date())+' as '+Time() TO PRINT
         Return(Nil)
*---------------------------------------------------------------------------
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
mmaciel11
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 23 Mar 2006 11:16
Cidade/Estado: sao luis
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: ao compilar referencia a arquivos CH

Mensagempor MARCELOG » 27 Jun 2008 09:20

Oi amiguinho,
o fórum está errado, deveria ser Minigui, mas tudo bem.
Mas para resolver o problema basta linkar a lib hbprinter.
Ela deve estar na pasta c:\minigui\lib.
Transfira a mesma para a pasta c:\xHarbour\lib que ela vai aparecer no hbmake.
Se não estiver em c:\minigui\lib, vá em c:\minigui\source\hbprinter e compile a mesma.
Espero ter ajudado.

MarceloG.
Água mole em pedra dura tanto bate que até espirra!
Avatar de usuário

MARCELOG
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 546
Data de registro: 15 Mar 2005 16:54
Cidade/Estado: Divinópolis/MG
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

Re: ao compilar referencia a arquivos CH

Mensagempor sygecom » 27 Jun 2008 12:11

Transferi o Topico para a Sessão Minigui.

Olá mmaciel11,
Para manter uma boa organização do forum, favor postar topicos relacionados a Minigui direto na sessão Minigui.

Obrigado.
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Re: ao compilar referencia a arquivos CH

Mensagempor mmaciel11 » 27 Jun 2008 16:01

Boa Tarde,

ok amiguinho... é que confundo as coisas !!! entao me ajude por favor, o que devo postar em minigui e o que devo em xharbour ???

aguardo

marco maciel
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
mmaciel11
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 23 Mar 2006 11:16
Cidade/Estado: sao luis
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: ao compilar referencia a arquivos CH

Mensagempor mmaciel11 » 27 Jun 2008 16:12

Boa Tarde,

ASSUNTO RESOLVIDO

resolvi o meu problema da seguinte maneira:

no meu arquivo SGH.BC criado pelo hbmake tem uma linha :

LIBFILES = minigui.lib lang.lib vm.lib rtl.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib common.lib gtgui.lib gtnul.lib codepage.lib ct.lib tip.lib pcrepos.lib hsx.lib hbsix.lib hbprinter.lib

eu coloquei a HBPRINTER.LIB

e resolveu

so que quando tava compilando começava por um arquivo que tenho funcoes chamado de LIBS.PRG dava pau, observei que o programa executava primeiro minhas funcoes de ChkCPF e outras funcoes que contem dentro desse arquivo LIBS.PRG.

porque isso ????????????????????????

COMO RESOLVI ESSE problema do LIBS.PRG !!!
-------------------------------------------------------

nessa linha:

OBJFILES = $(SRC03)\LIBS.obj $(SRC03)\PRESTADOR.obj $(SRC03)\REDE.obj $(SRC03)\REPMOV.obj $(SRC03)\SGH.obj $(OB)
PRGFILES = LIBS.PRG PRESTADOR.PRG REDE.PRG REPMOV.PRG SGH.PRG $(PS)

SO QUE A UNS TEMPOS ATRAS O STANIS LUCK ME FALO QUE O MODULO PRINCIPAL sgh.prg tem que vir sempre na frente do OBJFILES e PRGFILES entao fiz o seguinte:

OBJFILES = $(SRC03)\SGH.obj $(SRC03)\LIBS.obj $(SRC03)\PRESTADOR.obj $(SRC03)\REDE.obj $(SRC03)\REPMOV.obj $(OB)
PRGFILES = SGH.PRG LIBS.PRG PRESTADOR.PRG REDE.PRG REPMOV.PRG $(PS)

e resolvei

PERGUNTO aos amigos:

NAO É O HBMAKE que coloca a ordem desses arquivos no arquivo criado por ele (hbmake)

pois quando seleciono no HBMAKE, seleciono 1 o arquivo principal (SGH.PRG) depois os outros na sequencia

agradeço a todos !!!

marco maciel
mmaciel11@hotmail.com
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
mmaciel11
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 23 Mar 2006 11:16
Cidade/Estado: sao luis
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: ao compilar referencia a arquivos CH

Mensagempor sygecom » 27 Jun 2008 16:23

mmaciel11 escreveu:Boa Tarde,

ok amiguinho... é que confundo as coisas !!! entao me ajude por favor, o que devo postar em minigui e o que devo em xharbour ???
aguardo
marco maciel

Mensagens que esta relacionada com Minigui independente de ser Harbour ou xHarbour, você pode postar na sessão Minigui, se a mensagem for escluisiva e relacionada a Harbour ou xHarbour ai post na sessão x[H]arbour.

NAO É O HBMAKE que coloca a ordem desses arquivos no arquivo criado por ele (hbmake)

pois quando seleciono no HBMAKE, seleciono 1 o arquivo principal (SGH.PRG) depois os outros na sequencia

Sim, realmente é o hbmake que coloca em ordem os arquivos, porem o .PRG principal é informado em "TOPMODULE":
EX:
TOPMODULE = SGH.PRG
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro