Page 1 of 3

Problemas en 8.06 con Activex

PostPosted: Wed Jul 02, 2008 6:33 pm
by fgondi
Acabo de descargar la versión 8.06 de FWH así como la versión de xharbour que viene con él.

En mis aplicaciones uso el activex de CrystalReport.
Code: Select all  Expand view
oActiveX := TActiveX():New( oVentHija, "CrystalReports11.ActivexReportViewer.1" ) 
oVentHija:oClient := oActiveX
oActivex:SetProp( "ReportSource",  oCRReport )


Al compilar/linkar con la nueva versión me genera un "error en la aplicación" sin grabar ningún error en la línea:
Code: Select all  Expand view
oActivex:SetProp( "ReportSource",  oCRReport )


También uso Lead Raster View
Code: Select all  Expand view
oRasterView := TActiveX():New( oWnd, "LEADRasterView.LEADRasterView.140" )   
oRasterView:GetProp( "Raster" )


Y también me genera el mismo problema en la línea:
Code: Select all  Expand view
oRasterView:GetProp( "Raster" )

PostPosted: Thu Jul 03, 2008 5:41 pm
by fgondi
Antonio,

Como puedo resolver este problema

Code: Select all  Expand view

#include "FiveWin.ch"

function Main()
local cRpt, oCRApp, oCRReport, oActiveX, oVentHija

cRpt := 'Albaran de venta SHOWDTO sin logos.rpt'
oCRApp := CreateObject("CrystalRuntime.Application.11")
oCRReport := oCRApp:OpenReport(cRpt)

DEFINE Window oVentHija Title 'Albarán de venta'
oActiveX := TActiveX():New( oVentHija, "CrystalReports11.ActivexReportViewer.1" )
oVentHija:oClient := oActiveX
oActivex:SetProp( "ReportSource",  oCRReport )
ACTIVATE WINDOW oVentHija ON INIT ( oActiveX:Do( "Viewreport" ), oActivex:Do( "Zoom", 2)  )
return nil


Este código tan simple funciona perfectamente con Fwh 8.05 y no funciona con Fwh 8.06.
La línea
Code: Select all  Expand view
oActivex:SetProp( "ReportSource",  oCRReport )
genera un error y termina el ejecutable

Image

Por favor, Antonio, ayudame.
Si lo necesitas te envío por mail un instalador con las dll's necesarias para que funciones Crystal Report.

PostPosted: Fri Jul 04, 2008 10:44 am
by fgondi
Por favor Antonio, Aunque sea dime que no es un problema de Fwh, pero dime algo.

El error se genera cuando hago una llamada a SetProp y como segundo parametro paso un objeto.

Fwh 8.06 tiene una serie de amplias ventajas en la clase xBrowse y me gustaría poder usarlas, así como mejoras futuras.

Sólo se me ocurre poder incluir en mis aplicaciones las funciones ActX (ActXSetProperty, ActXGetProperty, etc) de la versión 8.05. Pero es algo que no puedo hacer porque no tengo el fuente de esas funciones.

Entendio que no quieras dar el código fuente de esas funciones, por lo que te pido que me envies un .lib con esas funciones en la versión 8.05.

PostPosted: Fri Jul 04, 2008 12:41 pm
by Antonio Linares
Fernando,

Discúlpame que no te haya respondido antes, pero he tenido varios dias bastante atareados.

De donde puedo descargar la versión demo de Crystal para hacer pruebas aqui ? gracias,

PostPosted: Fri Jul 04, 2008 12:46 pm
by Antonio Linares
Fernando,

Por favor prueba a hacer este cambio:

En vez de:
METHOD SetProp( cPropName, uParam1 ) INLINE ;
ActXSetProperty( ActXPdisp( ::hActiveX ), cPropName, uParam1 )

usa:
METHOD SetProp( cPropName, uParam1 ) INLINE ;
OleSetProperty( ActXPdisp( ::hActiveX ), cPropName, uParam1 )

PostPosted: Fri Jul 04, 2008 3:09 pm
by fgondi
Antonio,

Gracias por tu respuesta.

usa:
METHOD SetProp( cPropName, uParam1 ) INLINE ;
OleSetProperty( ActXPdisp( ::hActiveX ), cPropName, uParam1 )

Es una de las primeras pruebas que realize y sigue fallando.

Te he enviado un mail con Crystal XI y un ejemplo para que lo puedas probar.

PostPosted: Mon Jul 07, 2008 7:02 pm
by fgondi
Antonio,

¿Has recibido mi correo?

¿Has podido comprobar algo?

PostPosted: Mon Jul 07, 2008 10:49 pm
by Antonio Linares
Fernando,

No hemos recibido tu email. Por favor vuelve a enviarlo como fichero ZIP, gracias.

Tal vez el filtro anti spam lo haya eliminado

PostPosted: Tue Jul 08, 2008 9:41 am
by Antonio Linares
Fernando,

Aún no hemos recibido tu email

PostPosted: Tue Jul 08, 2008 12:22 pm
by fgondi
Antonio,

Te he vuelto a enviar el mail.

El motivo de que no hayas recibido es que el instalador de las dll's necesarias para Crystal XI pesa 60 Mb.

En el nuevo correo te envío un rar con el prg para probarlo y un enlace a www.megaupload.com para poder descargar el instalador de las dll's de Crystal XI.

PostPosted: Tue Jul 08, 2008 4:40 pm
by Antonio Linares
Fernando,

Descargado e instalando...

PostPosted: Tue Jul 08, 2008 5:28 pm
by fgondi
Antonio,

Ok.

PostPosted: Tue Jul 08, 2008 5:38 pm
by Antonio Linares
Fernando,

Te acabo de enviar por email unos ficheros para hacer unas pruebas, gracias

PostPosted: Fri Jul 11, 2008 2:03 pm
by Antonio Linares
Fernando,

Problema solucionado :-)

Te hemos enviado un email con los nuevos ficheros a usar. Gracias,

PostPosted: Fri Jul 11, 2008 3:11 pm
by fgondi
Antonio,

Funciona perfectamente :D

Muchas gracias.

Sólo un apunte a quien le pueda interesar:

Antes la instrucción CreateObject() aceptaba como parámetro un objeto
Code: Select all  Expand view
oRaster := oRasterView:GetProp( "Raster" )
CreateObject( oRaster )


Ahora no lo permite, pero se puede solucionar de esta forma
Code: Select all  Expand view
oRaster := oRasterView:GetProp( "Raster" )
CreateObject( oRaster:hObj )