Newsgroup: it.comp.lang.visual-basic
Titolo: Errore run time 91...

Buongiorno a tutti,
premettendo che sono un newbie del VB6, ho riscontrato il seguente errore
in un piccolo programma che si collega ad un DB Access 2000:
"errore di run time 91" Object variable or With block variable non
 impostata"
La connessione al DB è ADO e come Provider ho usato Microsoft Jet 4.0.
Il fatto che non riesco a capire è che sul 80% dei PC che abbiamo in azienda
il programma gira senza nessun tipo di problema (SO WIN98SE), invece su
alcune macchine riscontro l'errore prima descritto.
Qualcuno sa gentilmente aiutarmi? Spero di essere stato abbastanza chiaro...
Grazie
Tiziano

[Tiziano = 
circa_tizia...@brunoochner.it
 in
c3927h$ffv$
1...@newsread.albacom.net
] ha scritto:

Sembra il virus di questi giorni...
Salvo errori nel software (o strani comportamenti dei data-eccetera),
disabilita i timer da progetto e abilitali da codice quando la logica lo
consente.

Il 17/03/2004 9.31, Lupo scrisse:

Mi spieghi meglio perche' proponi questa soluzione? Mi devo essere perso 
qualche thread ...
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 qualche thread ...
Una volta ho avuto un problema simile.
Era il periodo in cui lavoravo in Delphi e stavo lavorando insieme al
programmatore (!) del cliente che lavorava in VB6.
Il suo programma era un semplicissimo programmino di polling che ogni tanto
andava a vedere se c'erano nuovi dati da spostare da un DB access ad un
altro...
Stava impazzendo perchč all'avvio "ogni tanto" (spesso) andava in errore 91
(e, sě... l'espertone forse non aveva mai sentito parlare del debugger).
Per fortuna si č assentato 2 minuti per una telefonata, cosě mi č ho potuto
mettere le mani sul suo PC e sistemare a me il suo problema, altrimenti
facevamo notte...
Il problema era semplicemente che faceva partire il timer di polling *prima*
di aprire il database, cosě *ogni tanto* il timer scattava quando il db era
ancora a nothing.
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net


Dall'alto della mia inesperienza penso che comunque errori nel software non
ce ne siano, altrimente avrei problemi ovunque. In ogni caso penso proprio
di dover cercare da qualche parte cosa sono i timer :)
Non dipende forse da qualche .dll?

 perso qualche thread ...
Hai ragione, forse mi sbaglio con il NG ms.p.it.vb... dove, appunto, le
istruzioni di un timer (che partiva in tempi diversi fra EXE e IDE) facevano
riferimento a un oggetto che non era stato ancora preparato.
Comunque, ribadisco, indipendentemente dal problema specifico: ogni timer
andrebbe disabilitato da progetto (in modo che non parta assolutamente) e
abilitato esplicitamente da codice solo quando le "preparazioni" necessarie
sono state fatte. Aggiungo anche: disabilitato alla chiusura del form.

 Non dipende forse da qualche .dll?
Ok, allora, mentre tu ti documenti sui timer (ma quando usate VB, almeno
un'occhiata alle sue finestre che si vedono sullo schermo lo date?) credo
che il tuo problema sia una gestione degli errori malfatta.
L'errore 91 significa semplicemente che la variabile che stai usando e che
dovrebbe essere un oggetto non č stata inizializzata e vale ancora Nothing.
Non č detto che sia qualcosa legato al DB.
Consiglio:
1) Cercare di capire *dove* hai l'errore:
all'avvio?
alla pressione di un tasto?
2) mettere dei log, o anche un semplice nelle sub interessate
On Error Goto Errore
    10 ...codice...
    20 ...codice...
    ...
    Exit sub
Errore:
    msgBox err.description & " alla riga " & erl
Nota il numero di riga necessario per far funzionare erl.
Dopo il debug, rimuovile.


[Tiziano = 
circa_tizia...@brunoochner.it
 in
c394in$hd6$
1...@newsread.albacom.net
] ha scritto:

No, abbi pazienza, se non hai timer, allora è certamente (!) un errore di
programma o, certo, di qualche componente di cui non hai il totale
controllo.

 
Perfettamente daccordo.
grazie



Io continuo ad insistere che non è un errore di programma. Secondo me è
qualche file che manca sui PC dove c'è il problema. Perchè altrimenti su la
maggior parte dei PC gira tranquillamente? E poi il programma è
semplicissimo,
non è altro che un controllo ADO settato tramite la finestra proprietà e dei
banalissimi text box... ho provato anche ad installare dei file di Run Time
di VB6,
ma niente da fare......

[Tiziano = 
circa_tizia...@brunoochner.it
 in
c39be5$ko5$
1...@newsread.albacom.net
] ha scritto:

ADO, ovvero MDAC_TYP.EXE adeguato l'hai installato?
E Jet?

 E Jet?
non vorrei dire una fesseria, ma se fosse un problema di jet o mdac,
l'errore non sarebbe il 91, ma un altro che ora non ricordo...
sbaglio?
ciaociao


Ti faccio il riepilogo di quello che ho provato ad installare:
    MDAC_TYP.EXE (Microsoft Data Access Components 2.0)
...e prima di questo ho installato DCOM.98.exe (ho letto da qualche parte
che per i
SO WIN98 prima di installare MDAC_TYP.EXE bisogna installare DCOM98.EXE).
Forse è un problema riguardo a Jet? Cosa devo cercare da installare?
Scusate l'ignoranza, ma sinceramente non è proprio il mio lavoro ma mi sono
visto
quasi costretto a creare questa piccola utility per risolvere alcuni
problemi in azienda.
Spero che qualcuno riesca a darmi una mano....
Tiziano

 problemi in azienda.
Tiziano, non è un prob. di installazione.
O almeno, se c'è anche questo per ora non è dato sapere.
E' un buco nel programma.
punto.
Devi capire dove sta questo buco.
Il fatto che su 9 (nove!) PC non funziona è abbastanza indicativo :P
P.S.: usi win98 su *tutti* i pc su cui hai provaot?
L'mdac_typ 2.0 è piuttosto vecchio e bacato... sicuro che volevi usare
quello?
Controlla tra i riferimenti del tuo progetto.
L'mdac_typ 2.0 ha già il supporto per il jet integrato, non ho idea se ci
puoi passare sopra con il jet4 sp8 così, anche se penso di sì.
Visto che in questi giorni non è una FAQ ma una superFAQ leggi questo post:
http://makeashorterlink.com/?P55211EB7


Problema risolto in questo modo:
Installazione in quest'ordine dei seguenti componenti:
1. DCOM98
2. MDAC 2.8 (ADO)
3. MS JET 4.0
4. Il programma da me scritto
Morale della favola: VB quando creava il pacchetto d'installazione faceva un
po' di casino!!
Grazie a tutti per l'aiuto
Tiziano