Page 1 of 1

clase texcels

PostPosted: Sun Jan 15, 2006 4:33 pm
by josei
Hola

La clase TExcels se puede usar con harbour, al compilarla me salen bastantes errores de compilacion

Atentamente
Jose Ignacio Jimenez Alarcon

Re: clase texcels

PostPosted: Mon Jan 16, 2006 3:29 pm
by VeRCE
josei wrote:Hola
La clase TExcels se puede usar con harbour, al compilarla me salen bastantes errores de compilacion
Atentamente
Jose Ignacio Jimenez Alarcon


Que clase de errores?
Como la estás compilando?

PostPosted: Mon Jan 16, 2006 4:01 pm
by josei
Hola

Pues la orden de compilacion es


harbour %1 /n /i..\include;c:\harbour25\include /p %2 %3 > clip.log

y los errores son de sintaxis...exactamente el TRY...CATH

texcels.prg(254) Error E0030 Syntax error: "parse error at '<eol>'"
texcels.prg(258) Error E0030 Syntax error: "parse error at '<eol>'"
texcels.prg(259) Error E0030 Syntax error: "parse error at '<eol>'"
texcels.prg(263) Error E0030 Syntax error: "parse error at '<eol>'"
texcels.prg(266) Error E0030 Syntax error: "parse error at '<eol>'"
texcels.prg(267) Error E0030 Syntax error: "parse error at '<eol>'"
texcels.prg(1106) Error E0030 Syntax error: "parse error at '<eol>'"
texcels.prg(1109) Error E0030 Syntax error: "parse error at '<eol>'"
texcels.prg(1111) Error E0030 Syntax error: "parse error at '<eol>'"

Atentamente

Jose Ignacio Jimenez Alarcon

PostPosted: Mon Jan 16, 2006 4:17 pm
by Vikthor
José :

Esas son extenciones de xHarbour, para que no tengas problema agrega __HARBOUR__ en la compilación de la clase, de esa forma el compilador ignorara esos procesos y tomará las instrucciones para usar la clase Ole de Harbour.

PostPosted: Mon Jan 16, 2006 10:56 pm
by josei
Hola

Gracias por las respuestas...pero...donde y como se pone _HARBOUR_ en la linea de compilacion?

Atentamente
Jose ignacio Jimenez Alarcon

PostPosted: Tue Jan 17, 2006 2:50 pm
by Vikthor
Si estas usando xMate

%C_BIN_INSTALL%\Bcc32.Exe -DHB_API_MACROS -M -c -D__HARBOUR__ -O2 -e -tWM -DHB_COMPAT_C53
-I%HB_INC_INSTALL%;%C_INC_INSTALL% -n%HOME%\Obj %C%[/b]

Si usas un .mak busca la declaración de flag para Bcc32, si usas xHarbour.com lo agregas en el apartado para flag de la segunda opción.

PostPosted: Thu Jan 19, 2006 5:59 pm
by josei
Hola

Lamento el tiempo que ha pasado,pero el trabajo es asi... gracias por las respuestas, pero el problema es que el error de sintaxis lo da en la compilacion de prg a obj que no se utliza Bcc32 sino harbour...hay alguna forma de sustituir esas expresiones por otras que hagan lo mismo en harbour...


Atentamente

Jose Ignacio Jimenez Alarcon

PostPosted: Fri Jan 20, 2006 6:35 pm
by Vikthor
Entonces quita del método new las llamadas TRY, CATCH y solo deja la función TOLeAuto()

PostPosted: Fri Jan 20, 2006 9:27 pm
by Vikthor
El método debe estar de esta forma

Code: Select all  Expand view
METHOD NEW()  CLASS TExcelScript
   ::lExcel  := .T.
   #IFDEF __XHARBOUR__
      TRY
        ::oExcel := GetActiveObject( "Excel.Application" )
      CATCH
         TRY
            ::oExcel := CreateObject( "Excel.Application" )
         CATCH
            Alert( "No está Excel Instalado en está Pc." )
            ::lExcel  := .F.
         END
      END
   #ELSE
     ::oExcel := TOleAuto():New( Excel.Application )
     IF ::oExcel:hObj == 0
         Alert( "No está Excel Instalado en está Pc." )
        ::lExcel := .F.
      ENDIF

   #ENDIF
   ::oClip:=TClipBoard():New()
   ::oClip:Clear()
   ::aExcelCols := {}
RETURN( Self )