FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ActiveX en Harbour + Visual Studio 2012 (SOLUCIONADO)
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
ActiveX en Harbour + Visual Studio 2012 (SOLUCIONADO)
Posted: Thu Jul 04, 2013 04:45 PM
Estoy migrando mis aplicaciones desde xharbour+Bcc582 a Harbour+Visual Studio 2012

Tengo problemas con algunos ActiveX, en concreto con Crystal Report y con LeadTool.
El problema es que no visualiza nada. Abre la ventana mdichild pero no muestra nada.

Además me pasa en los equipos con Windows 7, Windows 8, Windows 2008 server.
El mismo ejecutable en XP o 2000 server. funciona correctamente.

La misma aplicación compilada con xHarbour+Bcc582 y con Harbour+Bcc582 funciona en todos los operativos.

También he probado a cambiar el código y usar THActiveX pero sucede lo mismo.

Code (fw): Select all Collapse
 DEFINE Window oVentHija MDICHILD "Reporte" OF oWndPrincipal
 oActiveX := TActiveX():New( oVentHija, "CrystalReports11.ActivexReportViewer.1" )  
 oVentHija:oClient := oActiveX
 oActivex:SetProp( "ReportSource", oCRReport )
 oActiveX:SetProp( "EnableStopButton",     1  )
 oActiveX:SetProp( "EnableAnimationCtrl",  0  )
 oActiveX:SetProp( "EnableCloseButton",    1  ) 
 oActiveX:SetProp( "EnableExportButton",   1  )
 oActiveX:SetProp( "EnablePopupMenu",      0  )  // revisar, es interesante pero da error
 oActiveX:SetProp( "EnableRefreshButton",  0  )
 oActiveX:bOnEvent = { | event, aParams | EventInfo( event, aParams, oCRReport, oActivex  ) } 

 ACTIVATE WINDOW oVentHija  ON INIT ( oActiveX:Do( "Viewreport" )  )

function EventInfo( event, aParams, oCRReport, oActivex )
   local cMsg := cValToChar( event ) //+ CRLF
return cMsg
Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Thu Jul 04, 2013 05:57 PM

Fernando,

No te genera error ? No lo muestra y no da error ?

Prueba tambien a hacer:

oActiveX:Show()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Thu Jul 04, 2013 06:15 PM

No, no genera ningún error.
Sólo abre la ventana MDI y dentro esta vacia (fondo blanco).

oActiveX:Show() -> No funciona.

No parece que sea un tema de FWH o de Harbour, ya que cuando compilo con FHW+Harbour+BCC582 funciona bien.
Mas parece un tema de las librerías que se incluyen de Visual Studio, que hace que esos 2 controles no se muestren.
El control del PDF, si funciona.

¿Podría ser problema de la versión de los viewer?, aunque con BCC582 funciona

Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 302
Joined: Fri Apr 23, 2010 04:30 AM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Thu Jul 04, 2013 07:21 PM

Buenas tardes,

Yo tuve ese problema con MSVC 2010, prueba registrando los controles y/o DLL asociados.

Slds

Nicanor Martinez M.
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Thu Jul 04, 2013 08:23 PM

Muchas gracias por responder,

Tampoco funciona

Información de dll's a registrar para crystal report
REGSVR32 CRVIEWER.DLL
REGSVR32 REPORTPARAMETERDIALOG.DLL
REGSVR32 SVIEWHLP.DLL
REGSVR32 SWEBRS.DLL

Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Fri Jul 05, 2013 02:06 AM

Fernando,

Podrias proporcionar el código fuente de un ejemplo muy simple para poder reproducirlo aqui ?

Asi puedo hacer pruebas aqui, gracias :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Fri Jul 05, 2013 08:28 AM

Antonio, gracias por tu tiempo.

Preparo un ejemplo y te lo envío

Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Fri Jul 05, 2013 09:45 AM
he modificado el archivo tutor02.prg con lo siguiente:

Code (fw): Select all Collapse
// Our first Window in FiveWin !!!

#include "FiveWin.ch"

//----------------------------------------------------------------------------//

function Main()

   local oWnd, oActiveX, oCRApp, oRpt

   oCRApp := CreateObject("CrystalRuntime.Application.11") 
   oRpt   := oCRApp:OpenReport("Blanc.rpt")
   
   DEFINE WINDOW oWnd FROM 3, 6 TO 20, 70 ;
      TITLE "Welcome to " + FWDESCRIPTION COLOR "W/B"

//   @ 2, 2 SAY "Hello world!"
   oActiveX := TActiveX():New( oWnd, "CrystalReports11.ActivexReportViewer.1" )  
   oWnd:oClient := oActiveX
   oActivex:SetProp( "ReportSource", oRpt )
   oActiveX:SetProp( "EnableStopButton",     1  )
   oActiveX:SetProp( "EnableAnimationCtrl",  0  )
   oActiveX:SetProp( "EnableCloseButton",    1  ) 
   oActiveX:SetProp( "EnableExportButton",   1  )
   oActiveX:SetProp( "EnablePopupMenu",      0  )  // revisar, es interesante pero da error
   oActiveX:SetProp( "EnableRefreshButton",  0  )
   oActiveX:bOnEvent = { | event, aParams | EventInfo( event, aParams, oRpt, oActivex  ) } 
   
   oActiveX:Do( "Viewreport" )
   
   ACTIVATE WINDOW oWnd ;
      VALID MsgYesNo( "Are you sure?", "Do you want to exit?" )

return nil
 


function EventInfo( event, aParams, oRpt, oActivex )
   local cMsg := cValToChar( event ) //+ CRLF
return cMsg 

//----------------------------------------------------------------------------//

el rpt "blanc.rpt" lo subo rapidshare
http://rapidshare.com/files/3559180351/Blanc.rar

El rpt esta vacio, pero carga una ventana donde se ve el menu superior.
En windows 7, windows 8, etc sólo carga la ventana y dentro no se ve nada.

Lo compilo con builh32.bat, donde lo único que he cambiado son las llamadas a VC y SDK, porque yo lo tengo instalado en otro sitio
set vcdir="C:\Microsoft Visual Studio 11.0\VC"
set sdkdir="C:\Microsoft Visual Studio 11.0\SDK\v7.1A" //Tambien he probado con "C:\Microsoft Visual Studio 11.0\SDK\v7.0A"
Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Fri Jul 05, 2013 11:24 AM

Fernando,

Donde se consiguen esas DLLs ? Son redistribuibles ?

gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Fri Jul 05, 2013 07:57 PM

Antonio,

Te ha llegado lo que te he enviado

Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Fri Jul 05, 2013 08:07 PM

Fernando,

Si, y te acabo de responder por email, gracias :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Sat Jul 06, 2013 09:15 PM

Fernando,

he probado de todo lo que se me ha ocurrido sin ningún resultado positivo por el momento.

Falla tanto con TActiveX como con THActiveX por el simple hecho de usar MSVC. Con Borland, funciona perfectamente.

En el caso de THActiveX somos un simple wrapper de la implementación de Harbour. Como THActiveX deriva de TControl he probado a declarar como VIRTUAL los métodos Display(), Paint(), Link(), EraseBkGnd() y nada, el mismo resultado.

Si hago oActiveX:Hide() el control se oculta, luego está ahí, pero por que no se muestra ? A ver si se nos ocurre algo...

A este problema es al que me refiero tantas veces: el problema del uso de ActiveX y componentes externos. Ahora ante este problema que podemos hacer ? Sencillamente ir dando palos de ciego y ver si suena la flauta... y sino se arregla: estamos jodidos. Imposible pasar a MSVC, por usar componentes externos... :-(

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 694
Joined: Fri Oct 07, 2005 06:58 AM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Sat Jul 06, 2013 09:51 PM

Muchas gracias Antonio.
Las nuevas versiones están desarrolladas en framework. Se puede implementar?

Un saludo

Fernando González Diez

ALSIS Sistemas Informáticos
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Sun Jul 07, 2013 12:58 PM

Fernando,

Te refieres a .NET ?

Por supuesto lo más importante en esto es ayudarte a solucionar el problema técnico de alguna forma, pero para mi es mucho más interesante que compartieses con nosotros el por que usas Crystal Reports ? Que usas de Crystal Reports ? Que es lo bueno que tiene y que le sobra ?

En breve me pondré a construir (ó a sintetizar todo lo hecho) para tener nuestro propio diseñador de reportes. Por esto te pregunto esto, asi tendré la información necesaria para construirlo y asi nos libramos de CR para siempre :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: ActiveX en Harbour + Visual Studio 2012
Posted: Sun Jul 07, 2013 03:55 PM

Antonio:

Me alegra leer tu decisión de desarrollar un diseñador de reporte propio de FW y te felicito por esto creo
que esto solidificará más a FW.

Sugiero echarle una mirada, si es que no lo haz hecho, a FastReport, teniendo lo que FR aporta
tendríamos un excelente diseñador.

Te ánimo a hacerlo a la brevedad posible.

Saludos, ánimo

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero