Hola!
Miren, nesecito cargar los plug-ins para mi aplicacion. Hasta hay no problem. Cargo los plug-ins y los inicio para que se agreguen al menu y lo que haga falta.
El problema es que tambine se tienen que poder agregar a una toolbar. no es problema agregarlos al toolbar, sino hacer la accion nesesaria al hacer clcik en un boton del toolbar. Lo mismo con el menu.
Yo cargo los plugins con.
Public dll$, temp$
Dim obj
Public Sub LoadPlugIns()
On Error GoTo error:
dll = Dir(App.Path & "\PlugIns\*.dll", vbNormal)
Do Until dll = ""
dll = Left(dll, Len(dll) - 4)
temp = dll & "." & "Main"
lblLoading.Caption = "Cargando PlguIns\" & dll & ".dll..."
Set obj = CreateObject(temp)
obj.Init Me
dll = Dir()
Loop
mdiMain.Show
Exit Sub
error:
MsgBox "Error al cargar PlugIns\" & dll & ".dll.", vbCritical, "Error"
End
End Sub
el problema es que esta ncargados y en el menu y toolbar lla pero al hacer click en el toolbar yo no puedo acceder al objeto; porque si se fijan este cambia de plug-in cada vez para cargar el siguiente. Y si yo vuelvo a cargar el plug-in al hacer click tendria problemas porque el plug-in estaria cargado varias veces y no se mantendria andando 1 solo continuamente.
Se me ocurrio usar un array de 255 elementos global para cargar los plug-ins y haci tener acceso a ellos. Pero tira un error("el subindice esta fuera del intervalo.").
Lo intente con:
Public dll$, temp$
Dim obj()
Dim i
i = 0
Public Sub LoadPlugIns()
On Error GoTo error:
dll = Dir(App.Path & "\PlugIns\*.dll", vbNormal)
Do Until dll = ""
dll = Left(dll, Len(dll) - 4)
temp = dll & "." & "Main"
lblLoading.Caption = "Cargando PlugIns\" & dll & ".dll..."
Set obj(i) = CreateObject(temp)
obj(i).Init Me
i = i + 1
dll = Dir()
Loop
mdiMain.Show
Exit Sub
error:
MsgBox "Error al cargar PlugIns\" & dll & ".dll.", vbCritical, "Error"
End
End Sub
Que esta mal o como tendria que hacer para que los cargue dentro de la matriz?
Otra cosita: El mdiMain como el nombre lo dice es un mdi. Me gustaria saber como hago para abrir en el mdi un formulario mdichild que esta en la dll de un plug-in.
Saludos y espero me ayuden.