Newsgroup: it.comp.appl.access
Titolo: Run-time non esegue codice

Ho creato un DB con Office XP Developer.
Ho creato il pacchetto di installazione.
Ho provato ad installarlo su alcuni PC.
Quasi sempre l'operazione va a buon fine, è capitato però che su alcuni
sistemi si verificasse questo problema:
all'avvio viene eseguita la macro Autoexec che richiama alcune funzioni,
praticamente qualsiasi funzione venga richiamata il programma si blocca
dicendo che c'è un errore di run-time e mostrando la schermata di arresto
della macro.
Ho inserito delle routine di rilevazione errori ma non viene rilevato nulla,
è come se si rifiutasse di eseguire qualsiasi cosa che sia codice.
I sistemi che hanno dato questo problema sono:
1. Win 2000 con installato anche Office 2000
2. Win 98 con installato anche Office 97
3. Win 98 con installato SOLO Office 97
4. Win 98 con installato NULLA
C'è un modo per risolvere il problema?
Grazie.

 ha scritto nel messaggio
news:R5qc9.48383$pX1.1...@news2.tin.it...

ma su quale sistema funziona ?
Maurizio

 ha scritto nel messaggio
news:R5qc9.48383$pX1.1...@news2.tin.it...

Già solo per il fatto di aver azzeccato tutte le librerie da accludere al
pacchetto, sei un genio.
Personalmente ho faticato non poco.
Anzi se qualcuno che legge ha già risolto il problema, è pregato di farsi
avanti (ovviamente per XP).
Credo che hai omesso una o più librerie di riferimento o indispensabili al
runtime di Access.
Anzi il fatto che su alcune macchine funzioni mi convince ancora di più
In rete ho visto una routine che verifica le librerie anche su file mde.
Ciao, Carlo

 pacchetto, sei un genio.
Ma quel cavolo di packaging della MS non se le fa da solo ste cose???!?
E come si fa ad aggiungere o verificare le librerie che vengono incluse nel
pacchetto tramite la creazione guidata?

 Maurizio
Su tantissi altri, al punto che non riesco a capire nemmeno io il nesso.
Ad esempio su un Win 98 funziona, su un altro no.
Su un Win 2000 con Office 2000 di un cliente no, ieri ho provato ricreare il
problema installando Windows 2000 e solo Office 2000 e il programma si è
installato e ha funzionato correttamente.
Con Win 98 pulito o con Office 97 invece il problema lo da...

 Personalmente ho faticato non poco.
Mi sorprendete: non sono le solite tre o quattro librerie delle versioni
precedenti?
A meno che non usiate .OCX allora la faccenda diventa delicata anche col
'2000
Ciao, Giorgio

 ha scritto nel messaggio
news:3Xqc9.39018$ub2.6...@news1.tin.it...

Cara Elisa, hai mai realizzato un pacchetto di installazione?
E mentro lo realizzavi a cosa pensavi?
Forse hai premuto sempre "avanti, avanti, avanti e poi fine"?
Non hai notato, magari per caso, i mega che occupa il pacchetto? E la lista
dei file?
Hai mai aperto un file CAB creato dal developer?
Hai mai provato a scrivere nel registro le giuste chiavi?
NO? Beh...allora...
Ciao, Carlo

 Ciao, Carlo
Ritengo che con quello che costa Office XP Developer dovrebbe essere in
grado di mettere nei pacchetti di installazione i file che l'applicazione
usa e provvedere alla corretta registrazione nel sistema operativo,
soprattutto quando questi file non includono aggiunte che non fanno
originariamente parte di Access (ocx vari, ecc.).

 ha scritto nel messaggio
news:rXtc9.39661$ub2.6...@news1.tin.it...

Dimenticavo: grazie per il prezioso aiuto.

originariamente parte di Access (ocx vari, ecc.).
In effetti con le versioni precedenti l'installazione di pacchetti _perlomeno privi di .OCX e balle
varie_ non da problemi (o molto di rado).
Puň darsi, (dovresti verificare su MSDN) si tratti di un problema di registrazione della libreria
DAO360.dll su win '98 ... qualcosa si era scritto sul ng. mesi fa.
Per verificare quali siano le librerie assenti o non registrate prova a utilizzare un codice del
genere _utilizzato con la versione '97 come vedi_ su pressione di un tasto funzione o quello che ti
pare.
Public Function Riferimenti()
  ' Elenca le librerie utilizzate dall'applicazione e aiuta nella ricerca
  ' di riferimenti mancanti.
  Dim Legenda As String, Cref As Byte
  Legenda = "Visual Basic For Application              (VBA332.DLL)" _
  & Chr$(13) & "Microsoft Access 8.0 Object Library  (MSACC8.OLB)" _
  & Chr$(13) & "Microsoft DAO 3.5 Object Library      (DAO35.DLL)" _
  & Chr$(13) & "Microsoft Office 8.0 Object Library    (MSO97.DLL)"
  For Cref = 1 To Application.References.Count
        MsgBox Legenda & Chr$(13) & Chr$(13) & Chr$(13) & _
        (Application.References.Item(Cref).FullPath & ": Saltato?  -->  " &
Application.References.Item(Cref).IsBroken), vbInformation, "Riferimenti"
  Next
End Function
Sicuramente con A 'XP č possibile utilizzare soluzioni piů eleganti per la ricerca di broken
references (vedi Help), comunque potrebbe aiutarti.
Ciao, warp