Newsgroup: it.comp.appl.access
Titolo: Ancora sui riferimenti non trovati

Allora, procedure realizzate con Access 2003
Utilizzano delle funzioni di Word ed Outlook
Di conseguenza sono attivati i riferimenti a Msword.olb e Msoutl.olb
Bon.
Provo ad installare il tutto su una machina virtuale con Win 7 pro, 64 bit
La procedura installazione e' realizzata con Innosetup, che dopo aver 
copiato l'mde principale e tutti gli accessori, avvia l'installazione del 
runtime di Access 2003
A fine installazione run-time, l'mde principale si avvia correttamente
Vado sulla schermata che permette di visualizzare i riferimenti 'broken' ed 
'un-broken'
La maggior parte dei riferimenti viene visualizzata correttamente, ma 
Msword.olb e Msoutl.olb vengono visualizzati senza il percorso e dando un 
errore
In pratica per ogni libreria visualizzo il guid, il nome, il path, major e 
minor version
Per le due incriminate non 'vedo' il path, ed il codice restituisce 
l'errore -
2147319779
 quando tenta di leggere la proprieta'  FullPath  delle 
due librerie
Allora ho provato col RefLibPath nel registry
Una roba del tipo:
 
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Access\RefLibPaths]
"MSOUTL.OLB"="c:\\test\\bin\\"
"MSWORD.OLB"="c:\\test\\bin\\"
 
Ma le librerie non le vede, ovviamente ci deve essere qualcosa di sbagliato
Allora ho messo il percorso di msword.olb e msoutl.olb nella variabile 
ambiente PATH, ma niente
 
Ho provato anche a registrare le due librerie con:
regtlibv12.exe  c:\test\bin\msword.olb
 
La registrazione da' esito positivo, ma quando vado a fare la lista dei 
riferimenti (via vba intendo) non mi trova il percorso delle due
Per 'leggere' i riferimenti da codice uso questo:
 
   For Each accRef In Application.References
      With accRef
         If (.IsBroken = False) Then
            stringa_referenze = stringa_referenze & .Guid
            stringa_referenze = stringa_referenze & "  " & .name
            stringa_referenze = stringa_referenze & "  " & .FullPath
            stringa_referenze = stringa_referenze & " (" & .Major
            stringa_referenze = stringa_referenze & "/" & .Minor & ")" & 
Chr(13) & Chr(10)
            Else
            stringa_referenze_mancanti = stringa_referenze_mancanti & .Guid 
& Chr(13) & Chr(10)
            End If
      End With
    Next accRef
 
La domanda e':
come fare per usare un riferimento che nel pc rilascio (il mio win 7) e' in 
locazione diversa da quella del pc sviluppo?
Ciao e grazie
RobertoA
 
 

 Ciao e grazie
 
 
Dopo lustri d'installazioni ho trovato due soluzioni "buone" al problema dei 
riferimenti non trovati:
 
1 - Utilizzare l'associazione tardiva, a meno di particolarissimi 
impedimenti.
 
Oppure
 
2 - Metter mano al portafogli e acquistare l'installer SageKey.
 
La soluzione numero 2 è forse meno affidabile rispetto alla 1, ma comunque 
robusta.
 
Saluti. 
 
 

 
 
Ciao Simone...
 
Io l'unico problema che trovo in questa modalità è l'impossibilità di ereditare gli Eventi..., cosa non sempre necessaria, ma alla quale ho cercato soluzione senza trovarne risposta...
 
Intendevi qualche cosa di diverso più specifico...?
 
Ciao
@Alex


continuo a non concepire il perchè bisogna complicarsi cosi la vita 
quando con il late binding non avresti il minimo problema
mah
 
BFS
 
 


 
Ciao Alessandro,
 
La casistica di cui parli (ricordo anni fa un thread) è ancora oltre il 
"particolarissimo", per quelle che sono le normali esigenze.
Generalmente le ragioni che possono sconsigliare il "late-binding", imho, 
sono due:
 
1 - Ragioni prestazionali, nel caso che l'automazione OLE venga invocata in 
elaborazioni batch assai impegnative.
 
2 - L'ipotesi che si utilizzino proprietà e/o metodi aggiornatissimi e non 
disponibili in versioni precedenti dell'applicazione Office che si va a 
pilotare.
 
Statisticamente parlando, comunque, sono situazioni molto rare.
 
Saluti da Simone
 
 

 Saluti da Simone
 
Ciao Simone.
 
@Alex

 ha scritto nel messaggio 
news:m2afvo$q3$1...@speranza.aioe.org...

Come farebbe il late binding a sapere dov'e' il file msword.olb?
Ovviamente si parla di un pc senza Word installato 
 
 


hai detto che devi usare funzioni di word e outlook...
credo sia scontato quindi che office sia installato nel pc...altrimenti 
a che ti servono?
curiosità..puoi usare msword.olb senza una licenza office?
 
BFS
 
 

 Ovviamente si parla di un pc senza Word installato
 
??
Non è ovvio per nulla! 
 
 

 BFS
 
Servono a far funzionare il programma, su un pc vergine 
 
 

 ha scritto nel messaggio 
news:m2csb1$bfh$1...@speranza.aioe.org...

Se non e' ovvio allora lo specifico
Vorrei avviare il programma su un pc vergine 
 
 


 
per curiosità...cosa fai con quelle due librerie?
crei una mail? crei un foglio word?
 
 
BFS

 BFS
 
Non so esattamente
La parte che le utilizza non l'ho scritta io
 
 
 

 Vorrei avviare il programma su un pc vergine
 
 
Giuro non ti seguo: vuoi l'automazione verso Word/Excel senza che le 
applicazioni siano installate?
 
 

 ha scritto nel messaggio 
news:m2flcq$rm3$1...@speranza.aioe.org...

Non voglio l'automazione Word/Excel
Vorrei che il programma partisse normalmente, anche su un pc senza 
Word/Excel
Non vedo perche', se non si usano le funzionalita' legate a Word/Excel, non 
si possa usare il resto del programma
 
 

 non si possa usare il resto del programma
 
 
Riprendiamo il post di BFS:
 
"continuo a non concepire il perchè bisogna complicarsi cosi la vita
quando con il late binding non avresti il minimo problema
mah"
 
Cosa non ti torna? 
 
 


 
ci rinuncio...
BFS
 

 ha scritto nel messaggio 
news:m2kqoj$peh$2...@speranza.aioe.org...

Se per te e' piu' semplice, diciamo che un documento Word con alcuni campi 
liberi viene completato con dati presi dal db Access
Supponiamo che esista questa funzionalita', che in questa fase non mi 
interessa usare o far funzionare
Desidero solamente che il programma parta senza errori o segnalazione di 
librerie mancanti
Cambia qualcosa da com'era descritto prima il problema?
 
 
 


ok...se un utente usa questa funzione per compilare il foglio word, usi 
il late binding nel momento in cui l'utente ha bisogno di questa 
funzione nel gestionale.
se non ne ha bisogno il programma funziona perfettamente che ci sia word 
o no installato
ripeto perchè complicarti la vita?
istanzia le cose che ti servono quando realmente servono
 
ciao
BFS