eaVisual Basic NET es un lenguaje que, aunque desarrollado sobre la base de
Visual Basic 6, esta disenado para operar sobre una plataforma totalmente nue-
va, la plataforma .NET, con servicios mucho mas avanzados y simples que los
encontrabamos en versiones previas. Hay que tener en cuenta, no obstante, que
en la actualidad son miles los componentes COM usados en miles de aplicacio-
nes, asi como que muchas de ellas tienen necesidad de acceder a los servicios
del propio sistema, lo que se conoce habitualmente como AP! de Windows.
Que la plataforma .NET ofrezca una alternativa mucho mas potente, flexi-
ble y simple no implica, sin embargo, una ruptura total con el pasado. En la pla-
taforma .NET existen unos servicios, denominados de interaccion y alojados
encl ambilo System. Interop, que hacen posible la comunicacién bidireccional
entre .NET y COM. Desde Visual Basic NET podemos usar componentes COM,
asi como ofrecer nuestros componentes .NET a herramientas que trabajan con
COM.
También el acceso al API de Windows es totalmente factible, sin bien no sig-
nifica que sea algo recomendable. Siempre que en la plataforma .NET exista un
servicio para hacer lo que necesitamos es preferible usarlo en detrimento del
API de Windows, consiguiendo asi una mayor independencia del sistema. Aun-
que en este momento sea un tema que no nos afecte demasiado, en el futuropodriamos necesitar que nuestras aplicaciones operasen sobre la plataforma
-NET en otros sistemas operatives para los que esté disponible, y si tenemos
Namadas al API de Windows légicamente tendremos problemas para conse-
guir ese objetivo.
En este breve capitulo abordaremos tres temas distintos: como utilizar com-
ponentes COM o controles ActiveX desde un proyecto Visual Basic .NET, cé-
mo exportar un componente .NET para que pueda ser usado mediante COM y,
finalmente, como acceder al API de Windows.
Uso de componentes COM _
Posiblemente tengamos en uso en nuestros proyectos ya desarrollados con-
troles ActiveX 0 componentes COM de los que, de momento, no podamos
prescindir. Para trabajar en Visual Studio .NET, por tanto, precisariamos esos
objetos en nuevos proyectos o durante la actualizacién/conversién de los ya
desarrollados.
Dependiendo de que el elemento en cuestién sea un control ActiveX, que
tomamos habitualmente desde la Caja de herramientas de Visual Basic, o un
componente COM simple, que no aparece en esa ventana, el proceso de impor-
tacion sera uno u otro.
Lo habitual es conocer de antemano el componente COM que necesitamos
utilizar, de tal manera que sea posible agregar una referencia durante la fase
de diseno generando el correspondiente RCW. Tambien podemos, no obstante,
acceder a estos componentes de manera dinamica.
Importacion de controles Activex
Comencemos por el supuesto mas simple que, en este caso, es que dispon-
gamos de un control ActiveX y que necesitemos utilizarlo en un proyecto de
Visual Basic NET. Dicho control debera estar registrado en el sistema, accion
que se efectua normalmente durante la instalacion del componente o el produc~
to del que forme parte. Lo tinico que tenemos que hacer es utilizar la opcion
Personalizar cuadro de herramientas del Cuadro de herramientas, seleccionan-
do de la pagina Componentes COM (véase figura 24.1) el control que desea-
mos usar. Sino aparece en la lista siempre podemos pulsar el botén Examinar
para localizar la biblioteca donde se encuentra dicho control.
Si dispone de una biblioteca en la que se aloja el control a utilizar y éste no
se encuentra registrado en el sistema, puede efectuar el registro introducien-
do en la consola del sistema el comandoregsvr 32 seguido del nombre de
la biblioteca incluyendo la extension.