Newsgroup: it.comp.lang.visual-basic
Titolo: Testare un Plug-In

Ciao,
ho dei problemi per testare dei plug-in che sto scrivendo.
Nell'App principale carico i 
plug.in
 con un late-binding:
Set PlugIn = CreateObject(NomeFile & ".CMenuItem")
Dove NomeFile è la DLL che contiene il Plug-In.
L'unico inconveniente è che per testare il plug-in lo devo compilare e caricare 
dall'applicazione principale.
Pensavo che bastasse avviare due istanze di VB come faccio di solito per sviluppare 
ActiveX, ma non funge.
Avete qualche suggerimento?
LeleB.

 
Bè, ora ho creato un gruppo e tutto funziona...
Prima avevo questa situazione:
in C:\MainApp ho la mia applicazione che carica a RunTime i plug-in nella cartella 
C:\MainApp\PlugIn
I sorgenti del plugIn li avevo in c:\PlugIn. Io pensavo che, avendo la compatibilità 
binaria, potessi aprire il mio PlugIn in un'altra istanza di VB.
Ma facendo questo, il codice che veniva eseguito era quello nell'istanza di VB ma dava 
degli errori di automazione!
Non so se mi sono spiegato..
Se dovessi sviluppare un plugIn senza avere i sorgenti dell'applicazione base...come farei 
a testarlo..diventerei matto!!!
 > - compatibilità con quella registrata che viene richiamata con la
 > createobject (controlla di non averne registrate più d'una).
Nell'applicazione principale registro i plugin all'avvio e li scarico alla chiusura (con 
RegSvr32 -s)
 > - avvio con attesa che l'oggetto venga instanziato.
Si, il plug-in lo apro quando è già stato istanziato!
LeleB.

 chiamano uguali non sai quale viene tirata su.
Sai, su quelle opzioni effettivamente ho un po' di confusione...anche perchè l'help non è 
che le spiega un gran che bene..
Cmq in modalità "Gruppo" tutto funziona!
LeleB.



Non devi usare 2 istanze diverse di VB ma creare un gruppo di progetti
comprendente il vbp della App principale e quello della dll ActiveX.
Poi imposti quello della App principale come progetto di avvio (tasto
dx sul progetto). Questo perche' la dll per sua natura deve essere
caricata nel processo del chiamante, cioe' nella stessa istanza di VB
che ospita l'app principale. 
2 istanze diverse di VB sono necessarie per testare un EXE ActiveX,
che infatti e' un *altro* processo.
ciao

 Si, il plug-in lo apro quando è già stato istanziato!
Anche qui, questa frase non ha senso :)
E comunque io intendevo dire che VB nelle opzioni di progetto deve avere
checcata la voce "attendi la creazione dell'oggetto" (o qualcosa di simile),
poi avvii l'ocx/dll, *poi* avvii l'app principale, che fa la createobject
sul componente *in compatibilità binaria* con quello debuggato, per questo
devi essere sicuro di averne una sola versione registrata, perchè se si
chiamano uguali non sai quale viene tirata su.
Ciao

 Lì si che è un bello stress!!
Ed in effetti dovrebbe funzionare come dicevi, anche se non sono sicuro a
causa del late-binding.
Sicuro di aver controllato tutto dell'istanza di VB con la dll?
- compatibilità con quella registrata che viene richiamata con la
createobject (controlla di non averne registrate più d'una).
- avvio con attesa che l'oggetto venga instanziato.
Ciao

 che infatti e' un *altro* processo.
A dire il vero non ci avevo pensato.
Perň mi metto nei panni di chi non ha i sorgenti dell'applicazione principale...
Lě si che č un bello stress!!
Ciao e grazie!!
LeleB.