Clipper On Line • Ver Tópico - Problema com win_OleCreateObject

Problema com win_OleCreateObject

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Problema com win_OleCreateObject

Mensagempor rubens » 12 Jul 2017 17:47

Boa tarde...

Estou tendo um problema não sei bem se da win_OleCreateObject(). A mesma rotina compilo com harbour e funcionar beleza, quando compilo com a Minigui não funciona.
chega a carregar a win_OleCreateObject() mas quando entra no segundo Try que tem o oShell:Run() não funciona. Pula essa parte do Try entrando no Catch.
Alguem sabe se não funciona com a Minigui, ou estou fazendo algo errado?

Compilado em harbour funciona
#include 'hbcompat.ch'
#include "hbgtinfo.ch"
#include "hbwin.ch"

REQUEST HB_GT_WVT_DEFAULT

Function Main (cPdfFile, lEspera)
   LOCAL oShell, lOk:=.T., nStyle
   Local cPath := hb_dirbase()
     HB_Default(@lEspera,.T.)
     TRY
      oShell:=win_OleCreateObject( "WScript.Shell" )
     CATCH
      TRY
           oShell:=win_OleCreateObject( "WScript.Shell" )
        CATCH
           lOk:=.F.
       END
     END
     IF lOk
       TRY
        nStyle:=0
        oShell:Run( cPATH+'sumatra\sumatrapdf.exe -print-to-default '+cPdfFile , nStyle, lEspera)
       CATCH
           lOk:=.F.
       END
       oShell:=Nil
     ENDIF
RETURN lOk

Compilado na minigui como funcao não funciona, retorna .f.
Function ImpPdf(cFilePdf, lEspera) 
   LOCAL oShell, lOk:=.T., nStyle
     HB_Default(@lEspera,.T.)
     TRY
      oShell:=win_OleCreateObject( "WScript.Shell" )
     CATCH
      TRY
           oShell:=win_OleCreateObject( "WScript.Shell" )
        CATCH
           lOk:=.F.
       END
     END
     IF lOk
       TRY
        nStyle:=0
        oShell:Run( cPATH+'sumatra\sumatrapdf.exe -print-to-default '+cPdfFile , nStyle, lEspera)
        MsgBox( 'Dentro do Run')
       CATCH
           lOk:=.F.
       END
       oShell:=Nil
     ENDIF
RETURN lOk

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

Problema com win_OleCreateObject

Mensagempor JoséQuintas » 12 Jul 2017 18:04

Acredite se quiser, o problema é sempre o Xharbour.

No seu fonte está acrescentando a lib de compatibilidade com Xharbour, já é um problema.
E se usar a função de OLE dentro dela, causa problemas de compatibilidade com win_OleCreateObject().
Fora isso, a minigui usa coisas pra Xharbour...

É por essa e outras que a LIB de compatibilidade com xHarbour está marcada pra ser excluída do Harbour 3.4.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Problema com win_OleCreateObject

Mensagempor Toledo » 12 Jul 2017 19:12

Rubens, na Minigui não precisa criar o Shell com win_OleCreateObject(), você pode usar direto o comando EXECUTE FILE.

Exemplo:
execute file 'arquivo.pdf'

ou

Execute file ( cPATH+'sumatra\sumatrapdf.exe -print-to-default '+cPdfFile ) Wait


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 de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Problema com win_OleCreateObject

Mensagempor rubens » 13 Jul 2017 00:01

Então o "Erro" não tinha nada a ver com a coitada da win_OleCreateObject()..
Era erro de BIOS mesmo...
Tava recebendo:
Function ImpPdf(cFilePdf, lEspera) -> cFilePdf
e mandando imprimir:
cPdfFile
aí ia para o CATCH mesmo..
foi só corrigir e funcionou...

Agora foi bom que não conhecia o EXECUTE FILE bem mais prático...

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 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