Newsgroup: it.comp.lang.visual-basic
Titolo: Ma come si adoperano i componenti ".dll"?

Scusate il disturbo, ma ci stiamo rompendo la testa da ore (qualche
giorno) senza risultati!
Abbiamo scaricato la dll "cNewMenu" da VBAccelerator, e stiamo
tentando di integrarla con una nostra applicazione.
Si tratta di una (bella!, a nostro giudizio) libreria che consente di
creare menu pop-up.
Funziona tutto benissimo, ma ... solo su UNO dei nostri PC!!
Nel senso che su tutti gli altri non siamo stati capaci di farla
lavorare, nonostante ogni tentativo che ci č venuto in mente.
Ci viene infatti restituito un errore da uno dei metodi dell'oggetto
messo a disposizione dalla dll (il metodo ".showpopupmenu", per la
cronaca). Piů precisamente, l'errore č il 429 ("ActiveX component
can't create object", fra l'altro proprio cosě, in inglese, mentre noi
abbiamo VB in italiano ... probabilmente l'errore č della libreria?)
Sicuramente ci manca qualche nozione di base che renderŕ palese la
nostra ENORME ignoranza in termini di integrazione di oggetti in VB
... :-)
Siccome non sappiamo piů che pesci pigliare, qualcuno potrebbe darci
una dritta?
Considerate solo che: lo STESSO progetto, eseguito su di un PC (il
primo su cui abbiamo provato ad adoperare cNewMenu) funziona
tranquillamente, su tutti gli altri no (!).
Grazie comunque in anticipo a tutti.
Filippo e Gianluca

 Grazie comunque in anticipo a tutti.
ciaociao

 Filippo e Gianluca
occhio ad uno cosa. se guardi bene su 
vbaccelerator.com
, vedrai che ogni
dll/activex dipende da altri componenti. Mi ricordo per esempio il file
subsstmr.dll o qualcosa del genere, che è praticamente richiesto da ogni
controllo scaricabile da questo sito.
non vorrei che sul PC dove funziona avete installato tutto bene e quindi il
controllo funziona, mente sugli altri avete saltato qualche passaggio.......
good coding!!!
-- 
Alletun
Sorry, ask me if you want to get my e-mail!

 libreria che è presente sul primo pc ma non sugli altri.
Dopo essermi letto quasi 100 articoli sul famigerato (visto la
discretamente ampia "letteratura" al riguardo...) errore 429, aver
registrato tutte le librerie possibili ed immaginabili (ho addirittura
registrato tutte le librerie elencate nel file .DEP creato con il
wizard di installazione), aver modificato chiavi di registro
immettendo codici "terrificanti"... penso di aver ristretto le
possibili cause (ma non ci giurerei).
Una delle rimanenti e' che, per puro caso, sul primo PC (l'unico su
cui funziona) ci sia una DLL, anzi "la" DLL che fa funzionare il
tutto.
Ma non saprei proprio come fare a scoprire quale sia.
A questo punto potrebbe essere qualcosa di standard Microsoft (forse
qualcosa che possa centrare con una "doppia" installazione
dell'Office? - sulla macchina c'e' sia Access 97 che Access 2002).
Il problema sembra l'abbiano avuto in molti con l'utilizzo di DAO...
ma non e' proprio il nostro caso. La DLL serve per creare menu popUp e
l'errore nasce quando parte il metodo show (forse quando vuole creare
il nuovo oggetto?).
Possibile che debba cercare nelle librerie di Access?
Mi era venuto il dubbio che potresse centrare qualcosa il late binding
e l'early binding (e quindi cercare di creare il nuovo oggetto con
createObject e non con set as New), ma non so bene come potrei
utilizzare l'idea, visto che il codice e' tutto bello che pronto nella
DLL.
Mi dispiacerebbe tanto buttare via tutto (anche perche', prima di
vedere che in tutte le altre macchine non funzionava, ci abbiamo
lavorato sopra diversi giorni, per modificare, aggiungere, eccetera...
con tutto che funzionava a meraviglia!).
Abbiamo anche mandato una mail direttamente a chi l'ha creata (anche
se ci dispiace un po' disurbare ulteriormente chi ha gia' fatto tanto,
e gratis, per gli altri...), ma non sappiamo neanche se lavori piu'
li'... e se abbia tempo (e voglia) di rispondere.
Ringrazio ancora per l'interessamento.
Ciao
Gianluca

 Gianluca
ciaociao