Los controles OLE personalizados, se llaman controles OCX, aparecieron en 1994. Los OCX, supuestamente se ajustan a un estándar y deberían correr en cualquier lenguaje que soporte estos controles (VB, C++,Delphi y PB).
En 1996 aparecieron los controles ActiveX, que pueden emplearse además en páginas Web.
De manera general, acá en el foro se habla sólo de OCX para referirnos también a los ActiveX, ya que ambos llevan la misma extensión (*.ocx)
Microsoft ha creado muchos OCX, que vienen incluidos como algunos controles adicionales; pero la mayoría de los OCX, son creados por terceros.
Nosotros como programadores de PB, "echamos mano" alguna vez de estas OCXs, cuando por algún motivo no se puede "hacer algo" con los controles de PB o resultaría demasiado tedioso tener que programar.
Para insertar un OCX, primero insertas un control OLE, luego te vas a la pestaña Insert Control y puedes registar desde ahí. Para ver las propiedades y métodos que dispone el OCX, pulsas el botón Browse.
Según mi experiencia, los OCX que vienen incluidos en PB, funcionan bien; pero la mayoría de los OCX que puedes bajarte de la Red, fallan; ya que están pensados únicamente para VB, y a veces para una versión específica de VB.
Si usas OCX en tu aplicación, no te olvides registrarlo de alguna manera en la máquina donde vayas a instalar (se habló de algunos métodos en el foro).
Espero se hayan aclarado algunas dudas.