Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Creare un riferimento a DLL

215 views
Skip to first unread message

iLanders

unread,
Apr 28, 2016, 6:52:37 PM4/28/16
to
Ciao a tutti.
Devo pilotare via VBA una scheda rele PCI installata nel pc che apre e chiude dei semplici contatti.
Ho trovato la documentazione e la libreria per VB6 (è una DLL) fornita dal produttore, ma ho difficoltà ad implementarla.
Cercando di fare un riferimento alla DLL da Strumenti-->Riferimenti Access mi torna il seguente messaggio:
"Impossibile aggiungere un riferimento al file specificato."
So che la scheda funziona con un'applicazione scritta in VB6, ma ho bisogno di farla gestire da Access.

Qualcuo mi sa dare una mano?
Grz!

@Alex

unread,
Apr 29, 2016, 1:55:48 AM4/29/16
to
La prima cosa da sapere è se è una DLL Activex con Interfaccia COM, oppure se è una DLL Standard...

Nel 1° caso sarebbe andato a buon fine l'inserimento nei riferimenti... quindi dubito, a meno di problemi di compatibilità con l'entry point in VBA.

Nel 2° Caso la devi trattare come fosse una LIBRERIA di Funzioni API, quindi devi avere la documentazione delle Funzioni Implementate...

Il metodo lo trovi quì:
https://msdn.microsoft.com/en-us/library/office/bb687915.aspx

@Alex

iLanders

unread,
Apr 30, 2016, 4:31:34 AM4/30/16
to
RISOLTO!

Ciao @Alex, grazie della tua risposta.

La DLL è una libreria standard, l'avevo pensato anch'io, perchè come dici anche tu sarebbe andato a buon fine il riferimento.
Partendo da questo assunto avevo messo la DLL nella cartella del mdb (l'app è fatta con Access2003), ma non funzionava, come invece avrebbe dovuto fare, almeno per quel che so.
Devo precisare, a favore di chi un giorno potrebbe avere lo stesso problema, che l'app viene aperta cliccando su un link che la collega ad un mdw (profili).
Cioè, del tipo:
"C:\Program Files (x86)\Microsoft Office\OFFICE11\MSACCESS.EXE" C:\Users\%USERNAME%\Cartella\Applicazione.mdb /wrkgrp X:PROFILI.mdw

Forse, proprio per questo motivo, la DLL non veniva caricata (il messaggio di errore era: DLL non trovata).
E' bastato metterla nella stessa cartella di access (cioè qui: C:\Program Files (x86)\Microsoft Office\OFFICE11), che tutto si è messo a funzionare.
Quindi non è stato necessario nemmeno registrarla con regsvr.exe.

Spero che questa soluzione possa essere di aiuto a qualcuno.
Ciao e GRazie ancora a @Alex, sempre presente.

@Alex

unread,
Apr 30, 2016, 1:01:32 PM4/30/16
to
LE DLL standard non vanno registrate, solo le Activex.
Strano tuttavia che non funzionasse nel percorso del file MDB... e siccome usi un MDW immagino sia un A2003, quindi non hai nemmeno problemi di TrustedLocation...

Curioso, ma importante tu abbia risolto.

@Alex
0 new messages