Page 1 of 1

Sobre ToleAuto

Posted: Mon Mar 19, 2007 11:49 am
by JoseLuis
Hola amigos
La mayoria de los ejemplos que veo en éste foro para mandar e-mail utilizan la clase ToleAuto(), y yo que utilizo xharbour, siempre me da error TOleAuto():New().

Mi pregunta es si hay que enlazar con alguna librería para poder compilar alguno de los ejemplos que hay en el foro

Saludos

Jose Luis

Posted: Mon Mar 19, 2007 2:27 pm
by Biel EA6DD
Si usas xHarbour utiliza CreateObject(), en lugar de tOleAuto():New(). xHarbour lleva soporte nativo ole. Si usas Harbour, para poder usar tOleAuto, debes enlazar con la libreria hbOle.lib

Posted: Mon Mar 19, 2007 5:25 pm
by JoseLuis
Una pregunta
Es que a pesar de sustituir Toleauto():New() por Createobject, el error que me da en tiempo de ejecución hace referencia a Toleauto, aunque en el fuente no aparezca por ningún lado. Mira el código de error que me da:
  • Application
    ===========
    Path and name: c:\fuentes\xharbour\mail2.Exe (32 bits)
    Size: 444,928 bytes
    Time from start: 0 hours 0 mins 0 secs
    Error occurred at: 03/19/07, 18:20:09
    Error description: Error TOleAuto/-1 CO_E_CLASSSTRING: TOLEAUTO:NEW
    Args:
    [ 1] = C Persits.MailSender.4

    Stack Calls
    ===========
    Called from: => THROW(0)
    Called from: win32ole.prg => TOLEAUTO:NEW(300)
    Called from: win32ole.prg => CREATEOBJECT(67)
    Called from: mail2.prg => EMAILSENDER(3)
Que puede ser?

Gracias

Jose Luis

Posted: Mon Mar 19, 2007 6:02 pm
by Biel EA6DD
Si se ve que einternamente CreateObject llama a tOleAuto:New().

El error que te da, no sabria decirte, pero a mi me da un error muy parecido cuando intento crear un objeto y dicho objeto no esta en mi sistema, o me equivoco en el string.

Code: Select all

oRsPen:=CreateObject("NADA")
Error occurred at: 19-03-07, 18:58:28
Error description: Error TOleAuto/-1 CO_E_CLASSSTRING: TOLEAUTO:NEW
Args:
[ 1] = C ADof

Stack Calls
===========
Called from: => THROW(0)
Called from: win32ole.prg => TOLEAUTO:NEW(307)
Called from: win32ole.prg => CREATEOBJECT(67)

Posted: Tue May 29, 2007 11:28 am
by JmGarcia
Resulta que las FuncKyFTP tiene un metodo llamado GET (en el protocolo FTP es para coger ficheros).
Resulta que al compilar con FWH 7.5 y su xHarbour 0.99.71 pues me da el error tipico de PCODE...
Entonces tengo que renombrar el metodo GET de TOleAuto a _GET para que no "moleste" y recompilar la LIB.

Algun fichero BAT para recompilar win32ole.prg (TOleAuto) con el xHarbour de la FWH 7.5

Gracias.

Posted: Tue May 29, 2007 1:22 pm
by Antonio Linares
Solo tienes que llamar a harbour.exe /n /Ic:\xharbour\include win32ole.prg

y bcc32 -c -Ic:\xharbour\include win32ole.c

Posted: Tue May 29, 2007 2:00 pm
by JmGarcia
Antonio Linares wrote:Solo tienes que llamar a harbour.exe /n /Ic:\xharbour\include win32ole.prg
y bcc32 -c -Ic:\xharbour\include win32ole.c
En cuantas el codigo fuente pasa por el #pragma ENDDUMP a partir de la linea 153... con errores de este tipo:

Code: Select all

win32ole.prg(153) Error E0030  Syntax error: "parse error at 'S_PSYM_NEW'"
win32ole.prg(158) Error E0030  Syntax error: "parse error at 'S_PSYM_VTARRAYWRAPPER'"
win32ole.prg(163) Error E0061  Illegal character '.'.
win32ole.prg(166) Error E0030  Syntax error: "parse error at 'VARIANTINIT'"
win32ole.prg(167) Error E0030  Syntax error: "parse error at '}'"
win32ole.prg(172) Error E0030  Syntax error: "parse error at 'FUNCTION'"
win32ole.prg(180) Error E0030  Syntax error: "parse error at 'FUNCTION'"
win32ole.prg(190) Error E0030  Syntax error: "parse error at 'FUNCTION'"
etc...
Sin embargo compilando con xharbour 0.99.70 compila perfectamente con el AjMake.