Page 1 of 1

Como hago para cargar este OCX.

Posted: Wed Jun 21, 2006 8:55 am
by Andrés González
Desde hace tiempo tengo ganas de poner un lector de TIFF a mis programas, que no es mas que un fichero conteniendo fotos (archivos graficos) pero que lo guarda en un solo fichero. He encontrado este control OCX que es gratis, pero los ejemplos que he encontrado en fivewin no veo como cargar este control viene con su registrador de la clase y todo.
Lo podeis descargas de http://www.alternatiff.com/
Alguna idea de como cargarlo, los ejemplos que hay en fivewin solo hablan de cargar el identificador del ocx y eso no se como se hace.

Un saludo

Posted: Wed Jun 21, 2006 10:34 am
by Andrés González
Coginedo el ejemplo de testocx y cambiando el identificador de la clase, me muestra el control pero en cuanto pulso algun boton me da un error en una ventana fivewin. El codigo que he hecho es el siguiente:

Code: Select all


#include "FiveWin.ch"

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

function Main()

   local oWnd, hOCX, n, oLbx
   local aProperties := {}

   DEFINE WINDOW oWnd TITLE "FiveWin ActiveX support"

   OcxInit()

   hOcx = OcxCreate( 1, 1, 550, 550, "{106E49CF-797A-11D2-81A2-00E02C015623}", oWnd:hWnd )
	
	
   ACTIVATE WINDOW oWnd

   OcxTerm()

return nil

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

DLL32 FUNCTION OCXInit() AS VOID LIB "FiveOCX"

DLL32 FUNCTION OCXTerm() AS VOID LIB "FiveOCX"

DLL32 FUNCTION OCXCreate( cy AS LONG, cx AS LONG, y AS LONG, x AS LONG,;
                        cClsID AS LPSTR, hWnd AS LONG ) AS LONG PASCAL LIB "FiveOCX"

DLL32 FUNCTION OCXGetPropName( hOCX AS LONG, nIndex AS LONG ) AS LPSTR PASCAL LIB "FiveOCX"

DLL32 FUNCTION OCXGetNumProps( hOCX AS LONG ) AS LONG PASCAL LIB "FiveOCX"

DLL32 FUNCTION OCXShowProperties( hOCX AS LONG, nX AS LONG, nY AS LONG, szTitle AS LPSTR ) ;
   AS VOID PASCAL LIB "FiveOCX"


Sabeis si necesito hacer algo mas para poder manejar el control, el control efectivamente aparece pero cuando pulso sobre el me da el error en la linea de ACTIVATE WINDOW oWnd, sabeis si tengo que poner algo mas.

Un saludo.

Posted: Wed Jun 21, 2006 11:27 am
by Andrés González
Voy congiendo el hilo, ahora resulta que si lo hago con un control activex funciona a las mil maravillas.

Code: Select all

// Using Microsoft Excel ActiveX

#include "FiveWin.ch"

function Main()

   local oWnd, oActiveX

   DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support"

   // Warning: You may need a different name based on your installed Office version
   oActiveX = TActiveX():New( oWnd, "Alttiff.AlttiffCtl" )

   oWnd:oClient = oActiveX // To fill the entire window surface

   ACTIVATE WINDOW oWnd

return nil
Que diferencia hay entre hacer una llamada entre OCX y ActiveX ?

Saludos.

Posted: Wed Jun 21, 2006 4:26 pm
by Antonio Linares
Andrés,

Usalo como ActiveX. El soporte de OCX de TestOCX no es correcto.