Problemas com falta da HBOLE.LIB

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Problemas com falta da HBOLE.LIB

Mensagem por momente »

Amigos,

Boa tarde!

Estou com um problema para gerar PDF a partir de um xml de Nota Fiscal Eletrônica com a BioPDF (Impressora Virtual), sempre utilizei esta Função em xHarbour/Console e MiniGUI Ext./Harbour, sempre funcionou bem, porém, agora com a atualização da MinGUI Ext., verifiquei que a HBOLE.LIB foi descartada e fiz uma atualização de minha função para manter a compatibilidade com a MiniGUI. Mas esta causando erro de Método não Exportado na PrinterName. Segue o Código:


#define SET_PROGID "biopdf.PDFSettings"
#define UTIL_PROGID "biopdf.PDFUtil"

Function ConfigPDF(cArquivoPDF)
LOCAL prtidx,sPrinterName,oSettings,oUtil,cArqPDF
LOCAL lOk

If ( oUtil := win_oleCreateObject( UTIL_PROGID ) ) != NIL

sPrinterName = oUtil:defaultprintername

// Configuração do documento a ser impressão em PDF
If ( oSettings = win_oleCreateObject(SET_PROGID) ) != NIL
oSettings:PrinterName( sPrinterName )
oSettings:setValue("Output" , cArquivoPDF )
oSettings:setValue("ConfirmOverwrite" , "no" )
oSettings:setValue("ShowSaveAS" , "never" )
oSettings:setValue("ShowSettings" , "never" )
oSettings:setValue("ShowPDF" , "no" )
oSettings:setValue("RememberLastFileName" , "no" )
oSettings:setValue("RememberLastFolderName", "no" )
oSettings:WriteSettings(.T.)
Else
MsgInfo("Erro na configuração do PDF","ATENÇÃO")
Return NIL
Endif
Else
MsgInfo("Erro ao gerar PDF","ATENÇÃO")
Return NIL
Endif

Return nil

Já tentei de tudo, mas não estou conseguindo resolver, será que alguém poderia me ajudar?

Obrigado desde já pela atenção meus amigos!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Problemas com falta da HBOLE.LIB

Mensagem por momente »

Amigos,

Desculpe pela insistência, eu utilizo a xDevstudio, depois que atualizei minha MiniGUI, não consegui mais resolver. :'( . Não consigo entender o que esta acontecendo. Segui as instruções para utilizar a hbwin e xhb, mas o erro continua. E agora tentando voltar nas edições anteriores e nada.

Seguindo as instruções da atualização da erro Método não Exportado: PrinterName (BioPDF)

Será que alguém poderia me dar uma luz?

Valeu pessoal! :xau

Rogério Momente
LookSystem
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas com falta da HBOLE.LIB

Mensagem por asimoes »

sPrinterName está retornando alguma coisa ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Problemas com falta da HBOLE.LIB

Mensagem por momente »

olá asimoes,

Sim, retorna o nome da Impressora virtual no caso, a BioPDF, até a versão 18.4 gerava normalmente o PDF, utilizo o UNIDANFE. Ontem consegui voltar para esta versão e voltou a funcionar normalmente, mas com a atualização não deu mais certo. Eles pedem para não utilizar mais a HBOLE.LIb. Mas não funciona ou não estou sabendo fazer funcionar :|

Obrigado pelo retorno
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
tales
Usuário Nível 1
Usuário Nível 1
Mensagens: 8
Registrado em: 15 Jul 2014 15:58
Localização: Porto Alegre/RS

Problemas com falta da HBOLE.LIB

Mensagem por tales »

Bom dia, estou com um prolema parecido. Depois da atualização a minha impressora virtual PDF parou de funcionar. Só que eu uso a Bullzip ....

Grato

Tales
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Problemas com falta da HBOLE.LIB

Mensagem por momente »

Tales,

Poste aqui pra gente parte do seu código para analisarmos, eu utilizava a HBOLE.LIB, porém ela foi dada como obsoleta, indicaram para este caso utilizar xhb.lib e a hbwin.lib. Mas não funciona assim mesmo.
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas com falta da HBOLE.LIB

Mensagem por asimoes »

Tem esse exemplo na HbWin usando PDFCreator

Código: Selecionar todos

/*
 * Demonstration code for generating .pdf documents using PDFCreator
 *   COM interface.
 *
 * You should install PDFCreator to be able to run this test
 *
 * COM interface docs:
 * https://www.pdfforge.org/pdfcreator/manual/com-interface
 *
 * Copyright 2010 Mindaugas Kavaliauskas <dbtopas / at / dbtopas.lt>
 *
 */

#require "hbwin"

PROCEDURE Main()

   LOCAL oPC, nTime, cDefaultPrinter, oPrinter, nEvent := 0

   IF Empty( oPC := win_oleCreateObject( "PDFCreator.clsPDFCreator" ) )
      ? "Could not create PDFCreator COM object"
      RETURN
   ENDIF

   /* Setup event notification */
   oPC:__hSink := __axRegisterHandler( oPC:__hObj, {| X | nEvent := X } )

   oPC:cStart( "/NoProcessingAtStartup" )
   oPC:_cOption( "UseAutosave", 1 )
   oPC:_cOption( "UseAutosaveDirectory", 1 )
   oPC:_cOption( "AutosaveDirectory", hb_DirSepDel( hb_DirBase() ) )
   oPC:_cOption( "AutosaveFilename", "pdfcreat.pdf" )
   oPC:_cOption( "AutosaveFormat", 0 )

   cDefaultPrinter := oPC:cDefaultPrinter
   oPC:cDefaultPrinter := "PDFCreator"
   oPC:cClearCache()

   /* You can do any printing here using WinAPI or
      call a 3rd party application to do printing */
#if 1
   oPrinter := win_Prn():New( "PDFCreator" )
   oPrinter:Create()
   oPrinter:startDoc( "Harbour print job via PDFCreator" )
   oPrinter:NewLine()
   oPrinter:NewLine()
   oPrinter:TextOut( "Hello, PDFCreator! This is Harbour :)" )
   oPrinter:EndDoc()
   oPrinter:Destroy()
#else
   oPrinter := NIL
   ? "Do some printing to PDFCreator printer and press any key..."
   Inkey( 0 )
#endif

   oPC:cPrinterStop := .F.

   nTime := hb_MilliSeconds()
   DO WHILE nEvent == 0 .AND. hb_MilliSeconds() - nTime < 10000
      hb_idleSleep( 0.5 )
      /* The following dummy line is required to allow COM server to send event [Mindaugas] */
      oPC:cOption( "UseAutosave" )
   ENDDO

   SWITCH nEvent
   CASE 0
      ? "Print timeout"
      EXIT
   CASE 1
      ? "Printed successfully"
      EXIT
   CASE 2
      ? "Error:", oPC:cError():Description
      EXIT
   OTHERWISE
      ? "Unknown event"
   ENDSWITCH

   oPC:cDefaultPrinter := cDefaultPrinter
   oPC:cClose()

   RETURN
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas com falta da HBOLE.LIB

Mensagem por asimoes »

Talvez seja case sensitive

settings.printerName = sPrinterName

Vendo um exemplo:
http://www.biopdf.com/guide/examples/vb6/

O seu código está assim:

oSettings:PrinterName( sPrinterName )

Eu trocaria por

oSettings:printerName := sPrinterName
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Problemas com falta da HBOLE.LIB

Mensagem por momente »

asimoes,

Não havia pensado nisso, Testei, mas deu Error BASE/1004 Método não exportado: PRINTERNAME

Coloquei assim:
osettings:printerName(sPrinterName)

Muito estranho! :(Neg
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas com falta da HBOLE.LIB

Mensagem por asimoes »

Pode ser algum problema de registro desse objectcom
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas com falta da HBOLE.LIB

Mensagem por asimoes »

Esse recurso que está tentando usar é free?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Problemas com falta da HBOLE.LIB

Mensagem por momente »

asimoes,

Eu instalo a BioPDF, uma impressora virtual, já utilizo a bastante tempo, utilizo com xharbour console e aplicativos com a MiniGUI, sempre funcionou e funciona muito bem. Como disse, passei a ter este problema com as atualizações da MiniGUI de um tempo pra cá.
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas com falta da HBOLE.LIB

Mensagem por asimoes »

Só testando, onde tem pra instalar e Free?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Problemas com falta da HBOLE.LIB

Mensagem por momente »

aSimoes,

Pode baixar e instalar deste http://www.biopdf.com/download.php

Ele vai instalar uma impressora virtual, vc pode direcionar as impressões pra ela, normalmente, que irá pedir a pasta para salvar o arquivo PDF. Similar ao PDFCreator

Valeu meu amigo!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problemas com falta da HBOLE.LIB

Mensagem por asimoes »

Momente,

Baixei a impressora pdf

e funcionou.

Código: Selecionar todos

 cArquivoPDF := Hb_DirBase() + "TESTE.PDF"
   
   oUtil       := Win_OleCreateObject( UTIL_PROGID )

   oSettings   := Win_OleCreateObject(SET_PROGID) 

   sPrinterName := oUtil:defaultprintername

// Configuração do documento a ser impressão em PDF

   With Object oSettings
      :PrinterName := sPrinterName
      :setValue("Output" , cArquivoPDF )
      :setValue("ConfirmOverwrite" , "no" )
      :setValue("ShowSaveAS" , "never" )
      :setValue("ShowSettings" , "never" )
      :setValue("ShowPDF" , "no" )
      :setValue("RememberLastFileName" , "no" )
      :setValue("RememberLastFolderName", "no" )
      :WriteSettings(.T.)
   End
   
   With Object oPrinter := win_Prn():New( sPrinterName )
      :Create()
      :startDoc( "Harbour print job via PDFCreator" )
      :NewLine()
      :NewLine()
      :TextOut( "Hello, " + sPrinterName + "! This is Harbour :)" )
      :EndDoc()
      :Destroy()
   End
   
   nEvent := 0
   nTime := Hb_MilliSeconds()
   
   DO WHILE nEvent == 0 .AND. Hb_MilliSeconds() - nTime < 10000
      Hb_idleSleep( 0.5 )
      /* The following dummy line is required to allow COM server to send event [Mindaugas] */
   ENDDO
2019-02-06 20_43_49-.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder