Problemas de impressão I

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

Moderador: Moderadores

clebervn
Usuário Nível 3
Usuário Nível 3
Mensagens: 286
Registrado em: 12 Jun 2007 10:49
Localização: Florianópolis/SC

Problemas de impressão I

Mensagem por clebervn »

Num único cliente nosso dá a seguinte mensagem de erro quando vai imprimir :

Código: Selecionar todos

Error WScript.Shell/3  DISP_E_MEMBERNOTFOUND: RUN
Called from win32ole.prg->TOLEAUTO:RUN(0)
Called from FUNCAO44.PRG->MYRUN(172)
Called from FUNCAO44.PRG->FIMPUSB(141)
Segue a função que faz isso :

Código: Selecionar todos

// executa linha de comando substituindo o RUN 
**************************
FUNCTION MYRUN( cComando )
**************************
local oShell, RET
oShell := CreateObject( "WScript.Shell" )
RET    := oShell:Run( "%comspec% /c " + cComando, 0, .T. )
oShell := NIL
return iif( RET = 0, .T., .F. )
clebervn
Usuário Nível 3
Usuário Nível 3
Mensagens: 286
Registrado em: 12 Jun 2007 10:49
Localização: Florianópolis/SC

Problemas de impressão II

Mensagem por clebervn »

Em outros dois clientes, quando vai imprimir simplesmente fecha o sistema sem gerar erro algum.
Lendo na net, algumas postagens antigas relataram haver problemas com nomes de bancos quando instalado na máquina algum aplicativo do mesmo.
Sei q já passei problema a uns anos atrás com o nome UNIBANCO, que não poderias estar em maiúsculo, mas nem lembro que problema era.
Se alguém tiver alguma dica agradeço.

abc
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Problemas de impressão I

Mensagem por sygecom »

Eu já tive esse problema, resolvi usando assim:

Código: Selecionar todos

**************************
FUNCTION MYRUN( cComando )
**************************
local oShell
TRY
   oShell := CreateObject( "WScript.Shell" )
CATCH
   TRY
      oShell := CreateObject( "WScript.Shell" )
   CATCH
      MsgStop( "Erro! ao executar um comando externo","Aviso do Sistema")
      RETURN(.F.)
   END
END
TRY
  oShell:Run( "%comspec% /c " + cComando, 0, .T. )
  oShell := NIL
CATCH
  winexec(cComando,2)
END
return .T.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
clebervn
Usuário Nível 3
Usuário Nível 3
Mensagens: 286
Registrado em: 12 Jun 2007 10:49
Localização: Florianópolis/SC

Re: Problemas de impressão I

Mensagem por clebervn »

Primeiro caso resolvi da seguinte maneira, embora sempre aparece uma telinha de prompt do dos q abre antes do relatório e fecha depois, deixando esteticamente "feio" :

Código: Selecionar todos

run("%comspec% /c " + cComando)
Responder