domingo, febrero 11, 2007

I Love OCX

Estos últimos días he estado trabajando con el tema de OCX y ActiveX, usando Xailer, Visual xHarbour (por fin encontré donde están los ActiveX), FreeWin y FiveWin, porque estoy preparando ya el curso avanzado de Xailer, donde tocaremos el tema de ActiveX, mismo curso que estaremos impartiendo a partir del mes de Mayo de este año.

Navegando por internet y por referencia del foro de FiveWin, dí con estos bonitos controles de la casa CodeJock Software y tengo que decir que son IMPRESIONANTES pero nada baratos, $575.00 USD por el Xtreme ToolKit, que incluye 9 controles, licencia para 1 usuario.

Los manuales de este producto están totalmente orientados a ser utilizados con Visual Basic principalmente, pero la documentación de Propiedades, Eventos, Métodos, Enumeraciones y otros objetos contenidos en los controles, es muy muy muy completa, incluso con ejemplos en código fuente, que dominando la POO con xHarbour tendrás funcionando en tu GUI en poco tiempo, con poco o ningún esfuerzo.

Los controles son:

Calendario completo tipo OutLook, 100% personalizable, con cientos de componentes que te permiten implementar un completo calendario para por ejemplo aplicaciones de agenda, de administración personal del tiempo, planning etc.:



Command Bar, tipo Office, donde los menús son además barras que puedes desplazar, cambiar su tamaño, mover, cambiar de posición, ponerlas flotantes, etc. este control incluye ademas el RibbonBar de Office 2007:




Docking Pane: Estos "paneles movibles" son una maravilla, además la suite incluye un "bonus", un control extra que son los TABs Controls que sustituyen a los típicos folders de XP estos incluso con capacidad de incluir TABs con múltiples líneas, horizontales y verticales:



PropertyGrid: Es una rejilla de propiedades, con categorías, sub categorías, y secciones desplazables que se abren y se cierran, algo así como el inspector de objetos de Xailer:



Report. Este control te va a encantar, es un browse que soporta millones de lineas de datos, pero a diferencia de los browse normales de cualquier producto de programación, a parte de que las columnas son configurables LOS RENGLONES también son configurables, pudiendo tener varios renglones por registro, incluir imágenes, acciones, etc etc. Cabe mencionar que este control además puede conectarse directamente con SQL Server o con MySQL para obtener los datos, ¡ ah ! y por cierto, también puede imprimir, de ahí su nombre "Report":



Shortcut Bar: como la barra de OutLook, facilmente configurable y si la metes en un Panel de Xailer con un Splitter queda fenomenal (descarga el ejemplo mas adelante):



Skin: Si haz querido cambiarle el "look" a tus programas, esta es tu oportunidad de ponerles "skins" independientes a los "temas" de Windows XP, con la ventaja adicional que estos Skins funcionarán en equipos con Windows 98 o NT y tus ventanas se verán distintas, incluso bajo Windows XP.



Task Panel: Para los que trabajamos con Xailer, este control es nativo, pero si trabajas con otras GUIs, quizá te interese incluir los "Explorer Bars" para darle mayor presentación a tu aplicación.



Los controles son perfectamente compatibles con los GUIs que soportan xHarbour, siendo Xailer y Visual xHarbour la manera mas simple de implementarlos, gracias al importador de Componentes ActiveX que tiene incluido en el IDE, vamos a ser francos, en el caso de Xailer, un par de clicks del mouse y tienes creado un archivo .PRG con la clase correspondiente al control OCX que deseas utilizar, y el archivo de cabecera .CH, con las "Enumeraciones" (constantes predefinidas) necesarias para utilizar el control.

Las clases creadas junto con el archivo CH te permiten instanciar el control y colocarlo en cualquier formulario de Xailer usando el evento OnInitialize de los formularios, eso te ahorra muchas horas de trabajo.

Tengo que mencionar, con perdón, que la herramienta donde mas trabajo cuesta implementar estos OCX es FiveWin, para empezar porque el soporte OCX solo viene incluido en la versión 2.6 y superior (pero no te preocupes si tienes una versión anterior, sigue leyendo).

El principal problema usando Fivewin y los OCX es que la documentación, en el caso de estos controles, no incluye una parte donde diga que valor tiene cada "Enumeración" o constante predefinida, cosa que requiere una herramienta de terceros para "explorar" el DLL del OCX como el DLL Explorer y obtener dichos valores, por otro lado, hay algunos eventos de los controles que FiveWin no controla adecuadamente, en este caso lo recomendable es.......

¡ Utilizar FreeWin !, si tienes una versión de FiveWin anterior a la 2.6 y quieres usar estos OCX, descargate de la página de FreeWin el soporte OCX (que también puedes usar con el FW 2.6 y superiores sustituyendo el soporte OCX nativo de FiveWin), siendo esta la forma mas fácil de tener acceso a todo el poder de los controles OCX porque el soporte OCX que hizo Oskar Lira tiene un manejo de los eventos mucho mas elegante y que soporta todos los eventos de los controles, superior al de FiveWin.

Mi consejo: Si trabajas con FiveWin, la mejor forma de implementar un "cambio" de look a tus programas no es por la via del OCX, mejor utiliza los controles de CanalFive, que tienen mas ventajas: Son muchísimo mas baratos, no requieren de una DLL externa, están hechos 100% con Fivewin e incluyen el código fuente y todo el soporte se puede obtener en español.

Si estas trabajando con Xailer o con Visual xHarbour, el camino a seguir son los OCX mientras la gente de CanalFive no nos sorprenda un dia anunciando que también ya tiene soporte para otras plataformas a parte de FiveWin.

He realizado un pequeño proyecto con Xailer para que puedas ver por tí mismo estos controles en acción, para probarlo necesitas:

* Xailer 1.2b (obviamente)
* xHarbour compatible con la versión de Xailer 1.2
* Tener instalado el OCX de CodeJock que puedes descargar de www.codejock.com, sección Downloads, descarga la versión ActiveX (obviamente), pasa de la versión .NET

Por falta de tiempo no he podido hacer un ejemplo de cada uno, pero creo que con los ejemplos que van incluidos te darás una muy buena idea de lo facil que es crear aplicaciones profesionales usando este OCX.

Puedes descargar el proyecto haciendo click aquí he incluido también el EXE, por si no tienes Xailer, pero recuerda que es indispensable tener instalado el OCX de CodeJoc para poder ver el ejemplo.

7 comentarios:

Anónimo dijo...

Hola René,

Un artículo muy instructivo :-)

Por cierto, el enlace a CodeJoc no va.

Saludos

Jose A. Suareez

Anónimo dijo...

Jose,
http://www.codejock.com/downloads/
Ahí está el ActiveX/COM

Saludos
Fernando Leal
México, DF
visitante32@hotmail.com

Rene Flores dijo...

Listo, corregido el Link

fredy dijo...

Hola,

A mí no me funciona, me pega un GPF impresionante, en cambio, los ejemplos que vienen hechos en visualbasic funcionan de perlas.

Me parece que nos dará tiempo a tomarnos más de un café (o mejor, una tila) hasta que los ocx funcionen en xailer como es debido.

Un saludico,
Fredy

Rene Flores dijo...

Freddy:

descargate el proyecto de Xailer que esta incluido, funcionan todos los controles, excepto el de TABs que no me he dado tiempo para terminar, pero de que funcionan con Xailer, funcionan.

Anónimo dijo...

Oye podrias subir el ocx crakeado para que no me salga una ventana al inicio que dice q tengo q registrarlo

Anónimo dijo...

Rene, no te has animado a ser distribuidor de estos activex ?
Algun ejemplo de los skin con Xailer?

Saludos Cordiales
Juan Castillo A.