Page 1 of 3

¿que necesito para usar TWord?

Posted: Tue May 06, 2008 4:29 pm
by jfafive
Hola,

Quisiera saber, si necesito alguna libreria adicional para poder trabajar con Word desde five y hacer cosas como esta...

Code: Select all

#include "FiveWin.ch"

function Main()

   local oWord

   oWord := TWord():New()

   oWord:OpenDoc( "prueba.doc" )

return nil

Posted: Tue May 06, 2008 9:04 pm
by MGA

Posted: Wed May 07, 2008 7:58 am
by jfafive
Ok, gracias.

Ya he encontrado la docukmentacion y los ejemplos.
Pero me indican en TWord.doc que con harbour (que es el que uso) hay que enlazar usando HBole.LIB.

No encuentro esa libreria. :(

Posted: Wed May 07, 2008 8:31 am
by Antonio Linares
Javier,

Si usas Harbour entonces tienes que enlazar hbwin32.lib de Harbour

Posted: Wed May 07, 2008 9:18 am
by jfafive
Antonio,

Al enlazar, me da el siguiente error:

Code: Select all

Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_SEARCH_TAB' referenced from C:\FWH\LIB\TWORD
* There are errors
He incluido hbwin32.lib y twordhb.prg (compilado y convertido a twordhb.lib) tal y como muestro a continuacion:

Code: Select all

echo %bcdir%\lib\c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc

[color=red]
echo %fwh%\lib\twordhb.lib + >> b32.bc
echo %hdir%\lib\hbwin32.lib + >> b32.bc
[/color]

echo %fwh%\lib\FiveH.lib %fwh%\lib\FiveHC.lib + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\vm.lib + >> b32.bc
echo %hdir%\lib\gtgui.lib + >> b32.bc
echo %hdir%\lib\lang.lib + >> b32.bc
echo %hdir%\lib\macro.lib + >> b32.bc
echo %hdir%\lib\rdd.lib + >> b32.bc
echo %hdir%\lib\dbfntx.lib + >> b32.bc
echo %hdir%\lib\dbfcdx.lib + >> b32.bc
echo %hdir%\lib\dbffpt.lib + >> b32.bc
echo %hdir%\lib\hbsix.lib + >> b32.bc
...................
Tal vez es el orden de las librerias lo que falla? :?

Posted: Wed May 07, 2008 10:27 am
by Antonio Linares
Javier,

Revisa el código fuente para ver donde se usa la función SEARCH_TAB() y para que se usa.

Una solución temporal sería añadir esta función a tu PRG principal:

function SEARCH_TAB() ; return nil

Posted: Wed May 07, 2008 2:44 pm
by jfafive
Antonio,

No invoco a SEARCH_TAB() en ningun momento. Aqui tienes una muestra del codigo:

Code: Select all

#include "FiveWin.ch" 

function Main() 

   local oWord 

   oWord := TWord():New() 

   oWord:OpenDoc( "prueba.doc" ) 

return nil 

Posted: Wed May 07, 2008 4:53 pm
by Antonio Linares
Javier,

Es en el código de TWord() en donde se estará llamando a esa función.

A eso me refería

Posted: Wed May 07, 2008 8:56 pm
by jfafive
Ok, gracias por la aclaración.
En cuanto lo compruebe te digo algo.
:wink:

Posted: Thu May 08, 2008 8:36 am
by jfafive
Me sigue dando un error a pesar de inhabilitar a SEARCH_TAB() en TWordhb.prg

El error dice así:

Code: Select all

Application
===========
   Path and name: C:\FWH\SAMPLES\TESTWORD.EXE (32 bits)
   Size: 1,160,192 bytes
   Time from start: 0 hours 0 mins 0 secs 
   Error occurred at: 05/08/08, 10:31:46
   Error description: Error TOleAuto/65535  : TOLEAUTO:NEW
   Args:
     [   1] = C   Word.Application

Stack Calls
===========
   Called from: .\w32_tole.prg => THROW(77)
   Called from:  => TOLEAUTO:NEW(250)
   Called from:  => TWORD:NEW(380)
   Called from: testword.prg => MAIN(7)

Posted: Thu May 08, 2008 12:37 pm
by Antonio Linares
Javier,

Que versión de Word tienes instalada ?

Posted: Thu May 08, 2008 2:56 pm
by jfafive
Word 2003 ( 11.6568.6568) SP2

Posted: Sun May 11, 2008 4:22 pm
by jfafive
Hola Antonio,

Sigo sin poder usar TWord.
Los ejemplos para usar word o pdf que vienen en samples, tambien me dan error.

No se que hacer... :cry:

Posted: Sun May 11, 2008 4:29 pm
by jfafive
Perdón, los ejemplos PDF.PRG y PDF2.PRG si que funcionan. solo que no estaba el fichero .pdf al que hacian referencia.

Pero no consigo que funciona la clase TWord.prg ni tampoco elejemplo word.prg que viene en samples, aunque este parece que no utiliza la clase tword.

Code: Select all

// Using Microsoft Office Word ActiveX

#include "FiveWin.ch"

function Main()

   local oWnd, oActiveX

   DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support"

   oActiveX = TActiveX():New( oWnd, "Word.Application.8" )

   oWnd:oClient = oActiveX // To fill the entire window surface

   ACTIVATE WINDOW oWnd

return nil
En cualquier caso, ambos ejemplos dan error.

Posted: Sun May 11, 2008 5:10 pm
by jfafive
Antonio,

He intentado compilar y enlazar el fichero sample1.prg que viene en la carpeta TWordHB.

He incluido TWordHB.obj en la linea de comendos en Buildhb.bat, pero me da un mensaje:

Code: Select all

┌────────────────────────────────────────────────────────────────────────────┐
│ FiveWin for Harbour 8.04 - Apr. 2008            Harbour development power  │▄
│ (c) FiveTech, 1993-2008    for Microsoft Windows 95/98/NT/2000/ME/XP/Vista │█
└────────────────────────────────────────────────────────────────────────────┘█
  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Compiling...
Harbour devel build 1.1-1 Intl.
Copyright (c) 1999-2007, http://www.harbour-project.org/
Compiling 'SAMPLE1.prg' and generating preprocessed output to 'SAMPLE1.ppo'...
Lines 3656, Functions/Procedures 7
Generating C source output to 'SAMPLE1.c'... Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
sample1.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: Too many DEF file names: c:\FWH\lib\FiveHC.lib
* There are errors

C:\FWH\samples>