Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Thaorius en 11 Noviembre 2005, 02:15 am



Título: Plug-in's
Publicado por: Thaorius 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


Título: Re: Plug-in's
Publicado por: Sancho.Mazorka en 2 Diciembre 2005, 05:47 am
che M@rT1n yo tambine habia pensado en algo asi pero lo vi tan dificil que lo deje, la que podes intentar hacer es (si el programa lo permite) unir esas 2 o mas dll o lo que sea en una sola dll. ya se que es medio tarde pero una respuesta es uan respuesta. avisame cualquier cosas ande o no o si respondi lo tuyo.

Sancho Mazorka   :P


Título: Re: Plug-in's
Publicado por: Thaorius en 2 Diciembre 2005, 15:26 pm
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


Título: Re: Plug-in's
Publicado por: {_The_Alwar_} en 2 Diciembre 2005, 20:47 pm
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


Título: Re: Plug-in's
Publicado por: dexer en 2 Diciembre 2005, 22:06 pm
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


Título: Re: Plug-in's
Publicado por: Thaorius en 2 Diciembre 2005, 23:37 pm
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


Título: Re: Plug-in's
Publicado por: {_The_Alwar_} en 3 Diciembre 2005, 14:10 pm
toces me callo q de eso no se

Saludos


Título: Re: Plug-in's
Publicado por: germixxx en 5 Diciembre 2005, 01:46 am
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...


Título: Re: Plug-in's
Publicado por: krispin en 5 Diciembre 2005, 13:34 pm
Buenax!!
aqui les cuelgo un ejemplo:
http://usuarios.lycos.es/p4n0r4mix/VB/index.php
el ejemplo "EjemploPlugin.rar".
espero que sirva.
Saludoxx!!!


Título: Re: Plug-in's
Publicado por: germixxx en 5 Diciembre 2005, 17:04 pm
Ta exelente ese ejemplo :D


Título: Re: Plug-in's
Publicado por: Thaorius en 5 Diciembre 2005, 17:25 pm
Gracias.

Ahora me pongo a trastear el ejemplo.

Saludos


Título: Re: Plug-in's
Publicado por: Thaorius en 5 Diciembre 2005, 17:46 pm
Acabo de hacer oruebas y es realmente facil.

Ahora olo me queda 1 duda.
¿Como creo nuevos controles en el formulario, como por ejemplo un CSocketMaster o un CheckBox o un MiPlugInOCX?

Saludos


Título: Re: Plug-in's
Publicado por: germixxx en 5 Diciembre 2005, 18:43 pm
Haces igual q el resto de las cosas, supone q que queres agregar un checkbox en el ejemplo q colgo krispin pones en el dll
Código:
Private WithEvents check As CheckBox

private sub crearboton()
 Set check = miFormularioPadre.Controls.Add("VB.checkbox", "check")
   With check
      .Visible = True
      .Width = 2000
      .Caption = "nuevo check"
   End With
end sub
y se crea el checkbox, solo tenes q hacer referencia a miformulariopadre como si fuera form1, podes tmb darle las propiedades left y top ya q en ese ejemplo el checkbox se genera abajo del text1 :)
saludos


Título: Re: Plug-in's
Publicado por: Thaorius en 6 Diciembre 2005, 02:36 am
Estuve probando pero no se crea.
Al ver tu codigo me dicuenta de que miFormularioPadre.Controls.Add no existe, existe solo hasta miFormularioPadre.Controls .

Como hago, en este caso?

Saludos y gracias.


Título: Re: Plug-in's
Publicado por: germixxx en 6 Diciembre 2005, 03:17 am
Si usastes el codigo q t postie si se crea. El metodo add de miFormularioPadre.Controls si existe, no se por q no se despliega la ventana con las opciones de .control. El problema q debes tener es q el checkbox se genera abajo del text1 ya q como no le asignamos ni left, ni top a estos valores se le asignaron 0 q es la misma posicion q el text1. Entra al proyecto y corre el text1 a otra posicion. despues ejecutalo y proba. Si t tira algun error decime. Supongo q el error es q no corristes el text1. Si no agranda el formulario y asignale left y top al checkbox generado cosa q no quede abajo del text1


Título: Re: Plug-in's
Publicado por: Thaorius en 6 Diciembre 2005, 15:36 pm
Sip. era eso.

Gracias por todo a todos.

Saludos


Título: Re: Plug-in's
Publicado por: {_The_Alwar_} en 6 Diciembre 2005, 17:04 pm
krispin!!! muy buen ejemplo te lo agradezco q lo hayas colgado


Título: Re: Plug-in's
Publicado por: krispin en 11 Diciembre 2005, 19:55 pm
 ;)
graciax!!