Autor
|
Tema: Plug-in's (Leído 4,578 veces)
|
Thaorius
|
|
Plug-in's
« en: 11 Noviembre 2005, 02:15 am » |
|
hola gente!
Les cuento, para mi ultimo programa, tengo una dificultad enorme. La cosa es que nesecito hacer un sistema de plu-ins para le programa. O sea, que yo baje un plug-in y el propio progrma lo instale. Mi idea era subdividir el programam en muchas dlls y haci si un plgu in nesecita modificar algo del programa cambia la/las respectiva/s dll y listo. Pero el problema se presenta cuando 2 plug-ins puedan nesecitar agregar cosas al mismo dll, entonces cada uno reemplazaria la dll respectiva y entonces uno de los 2 plug-ins se quedaria sin andar. Entonces, me quedo desolado.
Quisiera saber como funcionana los plug-ins tipo msn plus que son un programa residente en espera de que se abra el msn o algun otro sisitema para usar los plug-ins.
Saludos
|
|
|
En línea
|
|
|
|
|
Thaorius
|
Si, lo pense pero no le veo gracia.
Por ejemplo el apache te carga los .so y son completamente funcionales sin ningun problema pero... C++... Despues, el msn por ejemplo con us famose API. El photoshop con sus filtros y accesosrios. El 3DMax,Maya,XSI con sus plug-ins para exportar,importar. Etc.
No se como lo haran, epro la verdad seria interesante hacer un cargador de plug-in's.
Nadie tiene alguna idea de como se hace esto?
Saludos
|
|
|
En línea
|
|
|
|
{_The_Alwar_}
Desconectado
Mensajes: 711
Who dares win
|
pues lo que tienes q hacer es que cada plug-in se guarde las dlls en una carpeta para el, y si varios plugin usan la misam se la copian a su carpeta... no se si me explico
|
|
|
En línea
|
|
|
|
dexer
Desconectado
Mensajes: 10
|
los pones todos en el mismo directoro y con el nombre k tenga el plugin por ejemplo.
Plugin_num1.dll y en esa dll programada en vb pones un modulo de classe que se llame ModPrincipal y una funcion por ejemplo k se llame Arranca() la forma quedaria asi en la dll Nombre proyecto : Plugin_num1.dll / nombre archivo : Plugin_num1.dll Modulo de classe : ModPrincipal Codigo por ejemplo Public Function Arranca() Msgbox "Estoy haziendo andar mi primer plugin cutre xd" End Function
.
Entonces pones esto en Form_Load
Set miplugin = CreateObject("Plugin_Num1.ModPrincipal") miplugin.Arranca
y tendria k salir el msgbox de la dll.
Weno eso es mas o menos necesita unos ajustes para adaptarlo a lo k necesites .
Salu2, dex
|
|
|
En línea
|
|
|
|
Thaorius
|
Sip, entiendo. Pero la cosa seria suponete, yo tengo por ejmplo el form frmMain, entonces yo cargo un plug-in. Como hago para hacer que este plug-in pueda usar elementos tales como funciones del frmMain o modificar etiquetas de texto, crear nuevos controles, redimensionar la ventana, etc. Probe enviando el Handle de la ventana pero no me salio. Alguna idea? PD: Alwar, la cosa es como hacer que interactuen con el programa. Saludos
|
|
|
En línea
|
|
|
|
{_The_Alwar_}
Desconectado
Mensajes: 711
Who dares win
|
toces me callo q de eso no se
Saludos
|
|
|
En línea
|
|
|
|
germixxx
Desconectado
Mensajes: 26
|
Supongo q lo llamas como dice dexer y en la dll tienen q haber apis para cambiar el form q queres cambiar. El plugin tiene q identificar el handle de la ventana y luego interactuar con apis como sendmessage, CreateWindowEx...
|
|
|
En línea
|
|
|
|
|
germixxx
Desconectado
Mensajes: 26
|
Ta exelente ese ejemplo
|
|
|
En línea
|
|
|
|
|
|