Antonio - Por Favor, TWORDHB?

Antonio - Por Favor, TWORDHB?

Postby AOKISANTOS » Wed Sep 06, 2006 2:39 pm

Antonio, por favor...
Eu utilizo FW25H + XHARBOUR 99.50

Vou ter algum problema em utilizar a TWORDHB?

Pois está me dando o seguinte erro:

Application
===========
Path and name: C:\XCARCERE\INQ\INQUERITO.EXE (32 bits)
Size: 2,315,264 bytes
Time from start: 0 hours 1 mins 30 secs
Error occurred at: 06/09/2006, 11:37:44
Error description: Error Word.Application/1829 Unknown error: VISIBLE
Args:

Stack Calls
===========
Called from TOLEAUTO:VISIBLE(0)
Called from (b)TWORD(139)
Called from TWORD:ISVISIBLE(0)
Called from CONTRATOWORD(28)
Called from PORDEUS(18)
Called from (b)PREPARAMENU(420)
Called from TMENU:COMMAND(407)
Called from TWINDOW:COMMAND(929)
Called from TMDIFRAME:COMMAND(219)
Called from TMDIFRAME:HANDLEEVENT(0)
Called from _FWH(3105)
Called from WINRUN(0)
Called from TMDIFRAME:ACTIVATE(878)
Called from MAIN(240)

***********************
Meu prg:
***********************

#INCLUDE "fivewin.ch"

//Gerar um array com nome do "campo" que estará entre [] a ser substituído no word
// e o conteúdo do arquivo de dados

function porDEUS()
LOCAL A1,A2,A3

A1:="Ubiratan José dos Santos"
A2:="Lídia Aoki dos Santos"
A3:="Herculano Augusto de Abreu"
aCampos:={}


aadd( aCampos, { 'NOME1',A1 } )
aadd( aCampos, { 'NOME2',A2 } )
aadd( aCampos, { 'NOME3',A3 } )
ContratoWord( aCampos )
RETURN(.T.)

function ContratoWord( aCampos )

local x, oWord, cModelo:=curdrive()+':\xcarcere\inq\teste.doc' //importante colocar a letra do drive senão dá erro


MSGINFO(CMODELO)
oWord := TWord():New() // inicia o objeto OLE Word
if oWord:IsVisible()
oWord:Hide()
endif
oWord:OpenDoc( cModelo ) // abre o documento modelo
for x=1 to len( aCampos )
oWord:Replace( '['+aCampos[x,1]+']' , aCampos[x,2] )
next

//oWord:preview() // visualiza o documento no preview
//oWord:Visualizar() // visualiza o documento
oWord:PrintDoc(.t.) // imprime o documento sem apresentar na tela
oWord:end()

return nil



********************
Antonio, por favor meu Mestre, estou precisando muito disso!

FIQUE COM DEUS, E QUE ELE ABENÇOE VOCÊ E SUA FAMILIA

AOKISANTOS
FWH25+XHARBOUR 99.50
AOKISANTOS
 
Posts: 210
Joined: Sun Jul 23, 2006 1:15 am

Antonio por favor

Postby AOKISANTOS » Thu Sep 07, 2006 5:22 pm

:( por favor antonio!
FWH25+XHARBOUR 99.50
AOKISANTOS
 
Posts: 210
Joined: Sun Jul 23, 2006 1:15 am

Re: Antonio por favor

Postby Vikthor » Thu Sep 07, 2006 6:21 pm

AOKISANTOS wrote::( por favor antonio!


Are you using Tword() Class for FWPPC ?

Where I can found that class ?

Best regards
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Postby Antonio Linares » Thu Sep 07, 2006 6:57 pm

AOKISANTOS,

Parece que oWord:IsVisible() llama a la propiedad OLE oWord:Visible y no es reconocida como tal.

Funcionaba ese código anteriormente ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41318
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Vikthor » Thu Sep 07, 2006 7:58 pm

Antonio Linares wrote:AOKISANTOS,

Parece que oWord:IsVisible() llama a la propiedad OLE oWord:Visible y no es reconocida como tal.

Funcionaba ese código anteriormente ?


Perdón , perdón , ya me dí cuenta de que estaba en el foro equivocado.

Pero aprovechando que es gerundio......

Efectivamente el método IsVsible() hace un llamado a la propidad Visible, lo que debe estar sucediendo es que no se está instanciando el Objeto Word y por esa causa ningún método o propiedad está disponible.
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Re: Antonio - Por Favor, TWORDHB?

Postby Vikthor » Thu Sep 07, 2006 8:04 pm

AOKISANTOS wrote:Antonio, por favor...

function ContratoWord( aCampos )

local x, oWord, cModelo:=curdrive()+':\xcarcere\inq\teste.doc' //importante colocar a letra do drive senão dá erro


MSGINFO(CMODELO)
oWord := TWord():New() // inicia o objeto OLE Word
if oWord:IsVisible()
oWord:Hide()
endif
oWord:OpenDoc( cModelo ) // abre o documento modelo
for x=1 to len( aCampos )
oWord:Replace( '['+aCampos[x,1]+']' , aCampos[x,2] )
next

//oWord:preview() // visualiza o documento no preview
//oWord:Visualizar() // visualiza o documento
oWord:PrintDoc(.t.) // imprime o documento sem apresentar na tela
oWord:end()

return nil



********************
Antonio, por favor meu Mestre, estou precisando muito disso!

FIQUE COM DEUS, E QUE ELE ABENÇOE VOCÊ E SUA FAMILIA

AOKISANTOS



Revisa si tu método ::New() es cómo este :

Code: Select all  Expand view
METHOD   NEW()  CLASS TWord
      ::lWord  := .T.
      TRY
        ::oWord := GetActiveObject( "Word.Application" )
      CATCH
         TRY
            ::oWord := CreateObject( "Word.Application" )
         CATCH
            Alert( "ERROR! Word no está instaldo en esta PC. [" + Ole2TxtError()+ "]" )
            ::lWord  := .F.
         END
      END
RETURN( Self )
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Postby AOKISANTOS » Thu Sep 07, 2006 10:24 pm

Antonio, Vikthor, muito obrigado por me responder...

Antonio, respondendo a sua pergunta... Eu nunca consegui fazer funcionar está comunicação com o WORD!... Tenho varias dúvidas:

1) Tenho que adicionar alguma LIB para que funcione ?
2) Eu anexei ao sistema a TWORDHB está certo? ou devo usar a TWORD?

Vikthor:
na TWORDHB o método NEW estava assim:

METHOD NEW() CLASS TWord
::lWord := .T.
#IFDEF __XHARBOUR__
TRY
::oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
::oWord := CreateObject( "Word.Application" )
CATCH
Alert( "ERROR! Word no está instaldo en esta PC.")
::lWord := .F.
END
END
#ELSE
::oWord := TOleAuto():New("Word.Application")
IF ::oWord:hObj == 0
Alert( "ERROR! Word no está instaldo en esta PC.")
::lWord := .F.
ENDIF
#ENDIF

RETURN( Self )

Então, ai mudei para ficar igual ao seu:
METHOD NEW() CLASS TWord
::lWord := .T.
TRY
::oWord := GetActiveObject( "Word.Application" )
CATCH
TRY
::oWord := CreateObject( "Word.Application" )
CATCH
Alert( "ERROR! Word no está instaldo en esta PC. [" + Ole2TxtError()+ "]" )
::lWord := .F.
END
END
RETURN( Self )

MAIS MESMO ASSIM, CONTINUA A ME DAR O ERRO:
Application
===========
Path and name: C:\XCARCERE\INQ\INQUERITO.EXE (32 bits)
Size: 2,324,992 bytes
Time from start: 0 hours 0 mins 30 secs
Error occurred at: 07/09/2006, 19:17:26
Error description: Error Word.Application/1829 Unknown error: VISIBLE
Args:

Stack Calls
===========
Called from TOLEAUTO:VISIBLE(0)
Called from (b)TWORD(140)
Called from TWORD:ISVISIBLE(0)
Called from CONTRATOWORD(27)
Called from PORDEUS(17)



POR FAVOR AMIGOS, ESTOU PRECISANDO MUITO FAZER FUNCIONAR !
FIQUEM COM DEUS
AOKISANTOS
FWH25+XHARBOUR 99.50
AOKISANTOS
 
Posts: 210
Joined: Sun Jul 23, 2006 1:15 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 9 guests