Paul P. Garcia wrote:
> Saludos.
>
> Me podrian dar información sobre la diferencia de un componente com con dll
>
> quisiera saber lo siguiente:
>
> 1. Que es un componente COM y para que sirve?
> 2. Cual es la diferencia de un componente COM con una DLL?
> 3. Como puedo crear un componente COM?
>
> Gracias de antemano
>
> ------------------------------------------------------------------------
>
> Nuevo Correo Yahoo!
> <http://es.rd.yahoo.com/mail_es/tagline/mail/image/*http://es.mail.yahoo.com>
>
>
>
> Web: http://www.mundovb.net
>
> Para darte de baja envía un mensaje a:
> vbasicworld-unsubscribe@yahoogroups.com
>
>
> *Patrocinio de Yahoo! Grupos*
>
>
> ------------------------------------------------------------------------
> *Enlaces a Yahoo! Grupos*
>
> * Para visitar tu grupo en la web, accede a :
> http://es.groups.yahoo.com/group/vbasicworld/
>
> * Para cancelar tu suscripción a este grupo, envía un mensaje a:
> vbasicworld-unsubscribe@yahoogroups.com
> <mailto:vbasicworld-unsubscribe@yahoogroups.com?subject=Unsubscribe>
>
> * El uso que hagas de Yahoo! Grupos está sujeto a las Condiciones
> del servicio de Yahoo! <http://es.docs.yahoo.com/info/utos.html>.
>
>
dll es dinamic link library: librería de enlace dinámico.
COM es component object model: modelo de objetos componentes.
dll tiene que ver con el enlazado del compilador de C: estatico vs
dinámico.
Con el enlace estático todo el codigo queda contenido en el ejecutable
del programa y se resuelven las dependencias en tiempo de compilacion.
Si tu programa tiene una llamada a una funcion suma el compilador busca
el codigo de suma y lo inserta en tu programa.
Con el enlace dinámico el codigo de la funcion suma queda contenido en
la dll y las dependencias se resuelven en tiempo de ejecucion. Tu
programa arranca, y cuando se quiere ejecutar suma se carga la dll para
que ella sume con los parametros que le pasa tu programa. ¿todavia no
estas confundido?
La ventaja del enlace estatico es que es mas rapido, la desventaja es
que el ejecutable queda mas grande y que desperdicia memoria
La ventaja de la dll es que ahorra memoria (varios programas pueden usar
la misma librería a la vez) y que se pueden cambiar las dll sin cambiar
el ejecutable.
Ahora que es COM?
es un modelo propuesto por microsoft para crear programas a partir de
componentes. COM generalmente se implementan sobre dlls (los ocx tambien
son dlls) pero dentro de los parametros del modelo. Se implementan sobre
dlls cumpliendo ciertos requisitos.
Como se crean componentes COM en VB?
Tienes dos formas:
crear una dll de COM
o crear una aplicacion con objetos publicos definidos en ella.
En ambos casos debes crear un objeto de visual basic que se establece
como public que va a servir para que las aplicaciones que usen el
componente COM se comuniquen con el.
Ojo la comunicacion entre el programa cliente y las dll es mas rápido
que si lo haces como proceso activeX
revisa la documentacion de VB sobre dll de COM (me parece que asi se
llama) y objetos COM
Se despide
Salvador