Newsgroup: it.comp.lang.visual-basic
Titolo: Sviluppo e Run time

Ho una applicazione che in ambiente di sviluppo mi funziona alla grande
quando creo l'eseguibili e lo lancio (badate bene sulla stessa macchina
su cui l'ho compilato quindi sono sicuro al 100% di avere le stesse
librerie) parte mi restituisce il seguente errore:
Errore di Run Time 91
Object variable or with block variable not set
Come già detto nel post precedente io ho gestito tutti gli errori,
ma il messaggio che spara a video non è mio assolutamente,
inoltre il messaggio non appare in base ad una determinata
azione ma mentre l'applicazione sta girando all'improvviso vien fuori
(in realtà dopo pochi istanti).
Infatti ho tappezzatto l'applicazione di msgbox e se vado in fretta riesco
a vederne qualcuno se invece me la prendo comoda no.
Sembra quasi fosse un task parallelo.
Ultima cosa i blocchi with non ci sono!!
Aiutatemi !!!!
P.S.
Scusate il post precedente ma dopo lavorandoci su ho capito
altre cose
                                                                danilo
 
minerv...@inwind.it

 Object variable or with block variable not set
Il codice compilato non č uguale al codice nell'IDE.
Tanto meno l'error handler.
Option Explicit č in uso ? Se non lo č, attiva l'opzione
e inserisci l'istruzione in tutti i moduli/form del progetto.
Poi se ne riparla.

Ultima cosa i blocchi with non ci sono!!
Non č detto che sia un blocco with.
Ti consiglio di togliere tutti gli on error e fare un pň di
test cosě, spesso sono proprio quelli che incasinano tutto 
nascondendo degli errori. Inoltre gestire gli errori con
on error č una pratica non molto bella....
Ciao 
Stelvio

 on error è una pratica non molto bella....
Non sarà bella .. ma rimane l'unica in VB
.... comunque ... poco tempo fa è capitato anche a me la stessa situazione
...
il problema stava in una variabile di tipo oggetto che veniva impostata a
Nothing e quindi tentavo di accedere ad una proprietà; per esempio :
Dim x as object
Set x = text1
x.text = "Prova"
Set x = Nothing
MsgBox x.text    <--- Causava l'errore
Tu stai usando delle classi personali ?
Facci sapere

 wrote in message
news:3a364da5$1...@multidominio.mercurio.it...


col cannone?
---
GbC
http://gbc.homeip.net
---

Io li metterei tutti al muro... ::::)))))))

 ha scritto nel messaggio
news:3a364da5$1...@multidominio.mercurio.it...


Scusa, ma non è più semplice On Error... ?

 Scusa, ma non è più semplice On Error... ?
Fosse sempre cosi' facile ! Non sempre l' on error becca gli errori
(soprattutto quelli fuori dal ns codice vb) e non sempre c' e' un on error
che possa intervenire.
Anch' io uso un metodo simile a quello di GbC, solo che, invece di scrivere
in una listbox, scrive una serie di informazioni su un file. In utole dire
che il tutto e' sotto compilazione condizionale, per cui posso avere, per
cosi' dire, una versione release ed una versione debug.  Con questa tecnica
ho scovato errori impensabili, anche nel codice di altri.
Ciao
Aldo

Assicurati di avere installato l'ultima versione del SP se stai lavorando
con la versione 6 (dovrebbe essere Sp4)

E con cosa dovrebbe gestirli, con try... catch? :)
Se esistesse potrebbe essere una buona soluzione....
Comunque, scherzi a parte, credo che ci sia stata un pň di 
confusione; quando ho detto di togliere gli on error 
io parlavo di eliminarli solo per fare il test finale
prima di compilarlo. Inoltre, volendo sottilizzare, noi 
possiamo gestire tutto quello che riguarda un possibile
errore bloccante della nostra applicazione.
ad esempio
"Fox Mulder" scrive:
Dim x as object
Set x = text1
x.text = "Prova"
Set x = Nothing
MsgBox x.text    <--- Causava l'errore
Per gestirlo (anche se č giusto che dia errore...) non vado 
ad usare un on error goto ma piů semplicemente uso un 
if x not is nothing then
  msgbox x.text
end if
Tornando alla pratica degli on error che, chiaramente, in
alcuni casi non possono non essere usati faccio presente
che č buonissima prassi quella di impostare 
on error goto 0 
dopo aver passato il codice incriminato.
Riporto infine un paragrafo dell'MSDN relativo proprio ad
on error
Note   System errors during calls to Windowsdynamic-link 
libraries (DLL) do not raise exceptions and cannot be trapped 
with Visual Basic error trapping. When calling DLL functions, 
you should check each return value for success or failure 
(according to the API specifications), and in the event of a 
failure, check the value in the Err object's LastDLLError 
property. 
Ciao 
Stelvio