Newsgroup: it.comp.appl.access
Titolo: Controllare riferimenti mancanti

E' possibile, all'apertura di un database, fare un controllo preventivo se
mancano dei riferimenti e segnalare quali, prima che venga segnalato
l'errore.
Ciao
Sandrobi
--
"De quo nihil dici potest, id tacendum est" (L. Wittgenstein, "Tractatus
logico-philosophicus")

 ha scritto nel messaggio
news:UHKne.130992$IN.22...@twister2.libero.it...

Direi di si.
LEggi questo sul mio sito:
http://www.mantuanet.it/alessandro.baraldi/FilesEsempio/MODULES/bas_References.txt
La domanda successiva dovrebbe essere come caricare quelle mancanti....?
1)API
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA"
(ByVal lpLibFileName As String) As Long
2)Oggetto Reference
Set ref = References.AddFromFile(strNomeFile)
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:d7nu4o$n2o$1...@domitilla.aioe.org...

Ottimo e abbondante direi!
Ciao
Sandrobi

 ha scritto nel messaggio
news:dKXne.40733$795.1...@twister1.libero.it...



Ho parlato troppo presto. Infatti:
1) Non riesco a controllare l'errore all'avvio: anche se metto il controllo
dei riferimenti broken nella macro Autoexec.
2) Se un riferimento è mancante, mi segnala solo il numero Guid mentre le
proprietà Name e FullPath non sono disponibili.
In definitiva, installando un MDE su un pc dove non sono presenti tutti i
riferimenti, ho poche probabilità di capire cosa manca. Forse conviene
verificare se siano effettivamente presenti i file richiesti, tenendo conto
che i percorsi cambiano a seconda del sistema operativo.
Ciao
Sandrobi

 Sandrobi
A parte che se non ricordo male con il GUID e le API puoi inserire
dinamicamente
i Riferimenti(ma non ne sono certo).
In ogni caso quando distribuisci un MDE minimo devi distribuire un pacchetto
con Runtime e quanto serve.
Però ci sono metodi alternativi per evitare di inserire tutti i Riferimenti
nel
progetto: USARE LATE BINDING
Ad esempio se haiinserito i Riferimenti a Word o Excel e non ne sfrutti
gli eventi d'istanza puoi benissimo togliere i Riferimenti e gestire con
l'associazione tardiva il tutto dichiarando variabili di tipo OBJECT.
Se però spiegassi meglio quali sono questi riferimenti potremo essere
più precisi...!
Ciao
-- 
@Alex (Alessandro Baraldi)


 ha scritto nel messaggio
news:d7sf1g$rjb$1...@domitilla.aioe.org...

 Nel caso particolare è MSCOMM32.OCX. Ma ho visto che mettendolo nella
cartella dell'MDE funziona.
Scusa ma il Late Binding non evita l'errore se manca l'ActiveX, quindi
qual'è l'utilità?
Grazie e ciao.
Sandrobi

 Sandrobi
Sai che gli errori si possono gestire vero....!!!
Io ti feci l'esempio di Office Automation(Word, Excel).
Supponi di sviluppare con i riferimenti della 10.0 come
spesso capita a me avendo installato O_XP a casa.
Al lavoro ho O_97 che ha la versione 8.0 delle lib.
Secondo te cosa dovrei fare dato che la differenza è in
DownGrade e non verrebbero riconosciute come compatibili...???
Uso LateBinding e lui si recupera proprio quello di cui la macchina
dispone...!
In ogni caso in VB si può istanziare anche un OCX in questo modo, ma
Access non lo permette, pertanto sei legato.
Il problema però secondo me è a monte, o meglio durante il Setup.
Per l'uso di OCX ci sono diverse scuole di pensiero, io lo metto nella
SYSTEM verificando che quello che installo non sia Antecedente a
quanto già presente(VERSIONE), fosse il contrario lo metto come hai detto tu
in una Cartella nella PATH dell'applicativo in modo da rimuoverlo alla
DIsinstallazione.
Si tratta spesso di gestire un SETUP in modo corretto invece che sperare
vada tutto bene...!
