Estimados colisteros: estoy creando una DLL que recibe tres parámetros en el
método INIT. Cuando quiero crear el objeto a partir de la línea de comandos
me tira el error: OLE error code 0x80004005: Error no especificado.

 

Revisé las páginas con este error en Microsoft y en una de ellas advierten
que es un error que se arrastra de VFP 6. Cuando un evento INIT devuelve .F.
; tira el error.

 

El tema es que si le saco los parámetros del método INIT (para probar), anda
perfecto. Pero cuando le pongo los parámetros, tira el error.

 

Es más, haciendo pruebas con el famoso código de Rubén Rovira también me
tira error; entonces concluyo: ¿ no es posible poner ninguna sentencia en el
evento INIT de un DEFINE CLASS ?

 

 

DEFINE CLASS WSCalculadora AS Session OLEPUBLIC

  PROCEDURE INIT(A AS Number, B AS Number)

      C=A+B

      RETURN .T.

  ENDPROC

  PROCEDURE Suma ( Sumando1 AS Number, Sumando2 AS Number ) AS Number

    RETURN Sumando1 + Sumando2

  ENDPROC

  PROCEDURE Resta ( Restando1 AS Number, Restando2 AS Number ) AS Number

    RETURN Restando1 - Restando2

  ENDPROC

  PROCEDURE Multiplica ( Factor1 AS Number, Factor2 AS Number ) AS Number

    RETURN Factor1 * Factor2

  ENDPROC

  PROCEDURE Divide ( Dividendo AS Number, Divisor AS Number ) AS Number

    IF Divisor # 0

       RETURN Dividendo / Divisor

    ELSE

       RETURN -1

    ENDIF

  ENDPROC

ENDDEFINE  

 

 

Temporalmente cree un evento INICIAR que haría lo mismo que el INIT y lo
convoco renglón siguiente que el CREATEOBJECT. Anda fenomenal, pero… si a
alguien le pasó y lo solucionó. Será bienvenida una respuesta. 

 

Muchas gracias de antemano 

Responder a