Newsgroup: it.comp.lang.visual-basic
Titolo: Errore di run time stramisterioso solo nell'eseguibile

Da un paio d'ore mi arrabatto attorno a questo codice apparentemente
di una semplicità disarmante
Private Sub BotModifica_Click()
   qualche linea di codice
Msgbox "qui"
  numerose linee di codice tutte in REM
Msgbox "la"
End Sub
Se lancio il programma nell'IDE e clicco sul pulsante BotModifica
correttamente appare il messaggio "qui" e poi il messaggio "la".
Se viceversa lancio l'EXE appare il messaggio "qui", poi un messaggio
"Errore di run time '5' - Chiamata di routine o orgomento non valido".
Subito dopo appare il messaggio "la".
Ma fra "qui" e "la" ci sono solo istruzioni commentate !!!!!!!
Il codice sopra citato fa parte di un progetto con più di 50 form
(eseguibile di 4 MB) sviluppato ed ampliato nel corso degli ultimi 10
anni in VB6. Questo per precisare che non sono proprio un pivellino;
nonostante questo non riesco a capire cosa stia succedendo. Tutto il
resto del programma funziona perfettamente.
Adesso vado a farmi una passeggiata perchè il cervello sta fumando.
Grazie a coloro che si interesseranno al problema.
Ugo

Sicuro che l'exe che fai partire sia quello giusto?
Se compili l'exe con un altro nome (e, possibilmente, su un altro percorso)?
Altra cosa che mi viene in mente e' che, durante l'esecuzione del programma 
compilato, si possa attivare un qualche evento che non riesci a riprodurre 
durante il debug nell'ambiente di sviluppo.
Ciao!
    Alex



Timer in giro?

 End Sub
Prova nell'IDE mettendo un Doevents dopo Msgbox "qui", e vedi se così l'errore
si manifesta.
In ogni caso, se avessi messo un gestore dell'errore in ogni routine, recante
l'indicazione non dico del numero di linea, ma almeno del nome della routine,
avresti senz'altro più informazioni.
Bye
Raf
-----------------------------------------------------
Funk: cooler than the other side of the pillow.
--------------------------------------------------------------------------------
La mia Cartella di Posta in Arrivo è protetta con SPAMfighter
939 messaggi contenenti spam sono stati bloccati con successo.
Scarica gratuitamente SPAMfighter!

 avresti senz'altro più informazioni.
Questo già l'avevo fatto, compresa la numerazione delle varie linee,
ma veniva fuori l'errore di run time già menzionato.
Comunque l'indicazione di mettere un Z=DoEvents() è stata
assolutamente risolutiva in quanto ora l'errore non si ripresenta più.
Senza il DoEvents salta fuori l'errore.
Grazie infinite.
Ugo

 Ugo
Non so se l'hai fatto, ma fossi in te cercherei di capire a fondo il perché
dell'errore.
Mettere una "pezza" così senza avere almeno una vaga idea di cosa cambia non mi
farebbe stare tanto tranquillo.


 ...esattamente il contrario di quello che mi aspettavo :-(
Io, in realta', mi aspettavo che, fra le linee di codice nella Sub 
BotModifica_Click(), il DoEvents gia' ci fosse...
Sbagliavo? :-(
Ciao!
    Alex

 farebbe stare tanto tranquillo.
Hai perfettamente ragione.
Grazie e ciao
Ugo

 E' proprio questo che non capisco.
Hmmm... quindi l'errore non riusciva ad essere intercettato da nessuno dei
gestori piazzato nelle varie routine del programma?
Mi è capitato solo un paio di volte, non è che stai usando degli ActiveX di
terze parti (es. TrueDBGrid)?
Bye
Raf
-----------------------------------------------------
Funk: cooler than the other side of the pillow.
--------------------------------------------------------------------------------
La mia Cartella di Posta in Arrivo è protetta con SPAMfighter
941 messaggi contenenti spam sono stati bloccati con successo.
Scarica gratuitamente SPAMfighter!

 terze parti (es. TrueDBGrid)?
No assolutamente. Tutta roba di Microsoft. Comunque nel form
incriminato non c'è nulla di strano.
In altre form ci sono controlli ex VB4/VB5.
Ciao
Ugo

 di una semplicità disarmante
Postalo. Incolla il codice, non lo schema. Magari c'è un errore di
digitazione.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Non sò se possa servire, ma hai provato a compilarlo disattivando
l'ottimizzatore?