Duda de cuando usar TActiveX, TOleAuto y CreateObject

Duda de cuando usar TActiveX, TOleAuto y CreateObject

Postby AngelSalom » Tue Sep 27, 2022 3:11 pm

Hola amigos, estoy jugueteando con una librería comercial de controles que los distribuye como "ActiveX COM products".

Hasta ahora casi todas las pruebas las estoy haciendo con la clase TActiveX con bastante éxito aunque hay algunos que se resisten y ahí es cuando he empezado a hacer algunas pruebas.
Algunos los puedo usar con un CreateObject y otros con TOleAuto .... de aquí la duda, ¿cual es la clase / función adecuada ? ¿hay más de una forma de hacer lo mismo?

Me refiero a Cuándo usar TOleAuto, CreateObject y TActivex.

Probando el ejemplo adorick.prg de la carpeta samples de FWH veo que estas dos implementaciones dan el mismo resultado :

Code: Select all  Expand view

oRsCust := TOleAuto():New( "ADODB.Recordset" )
oRsCust := CreateObject( "ADODB.Recordset" )


¿Alguna sugerencia?
Gracias!
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Duda de cuando usar TActiveX, TOleAuto y CreateObject

Postby Antonio Linares » Tue Sep 27, 2022 5:55 pm

Estimado Angel,

En https://github.com/harbour/core/blob/master/contrib/xhb/xhbole.prg encuentras:
Code: Select all  Expand view
FUNCTION CreateObject( xOle, cLicense )
   RETURN TOleAuto():New( xOle,, cLicense )

luego esas dos funciones son equivalentes.

La diferencia con TActiveX es cuando creas un objeto OLE tipo control (con interface de usuario), en esos casos necesitas TActiveX

Que me corrijan si me equivoco, Harbour no da soporte de ActiveX salvo a traves del interface "AtlAxWin" y fué implementado por Mindaugas.
Basicamente la case "AtlAxWin" es una clase de control para poder soportar los controles ActiveX. Con la Clase TActiveX de FWH no necesitamos usar la capa "AtlAxWin"
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Duda de cuando usar TActiveX, TOleAuto y CreateObject

Postby AngelSalom » Tue Sep 27, 2022 7:37 pm

Estupendo Antonio, claro como el agua. :lol: :lol:
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Duda de cuando usar TActiveX, TOleAuto y CreateObject

Postby Lailton » Fri Sep 30, 2022 1:10 am

Esta 100% correcto Antonio.

Una pergunta sobre el tema, se fivewin no usa "AtlAxWin" o que usa para criar la interface con activex?

( lo pergunto por que la AtlAxWin funciona bien pero tiene limitacion y falha en algunas versiones de windows. )
Regards,
Lailton Fernando Mariano
User avatar
Lailton
 
Posts: 125
Joined: Fri Jul 20, 2012 1:49 am
Location: Brazil

Re: Duda de cuando usar TActiveX, TOleAuto y CreateObject

Postby Antonio Linares » Fri Sep 30, 2022 7:33 am

Dear Lailton,

We use a FWH new control class:

@ 0, 0 ACTIVEX oActiveX PROGID "Shell.Explorer" OF oWnd

MsgInfo( GetClassName( oActiveX:hWnd ) ) // TACTIVEX
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 83 guests