Newsgroup: it.comp.lang.visual-basic
Titolo: Comportamento decisamente anomalo!!!

Sono ore che sto cercando di capire cosa succede, ma purtroppo penso sia
fuori dalla mia portata... il problema è semplice: se eseguo il programma
passo passo, funziona tutto correttamente, mentre se lo eseguo senza
interruzioni gli effetti sono completamente differenti...
in particolare in 2 occasioni:
ho un recordset a cui voglio aggiungere un record, questo deve avere una
determinata chiave esterna, che corrisponde al codice del cliente di cui
farà parte quel determinato cartellino (cartellini è il recordset cui voglio
aggiungere record) quindi mi richiamo un form a scelta obbligatoria di
ricerca del cliente, che mi trova il cliente desiderato e mi memorizza le
relative informazioni in delle variabili globali.
Richiamo il metodo addNew e memorizzo il codice dalla variabile globale e le
relative info scritte nelle textbox...
Tutto ok se lo faccio con l'esecuzione passo passo, mentre se lo eseguo
senza interruzioni si verifica qualcosa che mi cancella il metodo AddNew,
come un riposizionamento del data,oppure una qualsiasi cosa che però non si
verifica nell'esecuzione passo passo!!!
In un altro caso: devo cercare un cartellino in base al relativo numero,
quindi, semplicisticamente faccio un ciclo in cui avanzo nel recordset
finchè il numero non corrisponde...
Tutto ok con l'esecuzione passo passo. mentre, al solito, con l'esecuzione
normale il ciclo di moveNext non è valso a nulla e il record corrente mi
rimane il primo del recordset...
vi chiedo aiuto... non ho proprio idea del perchè di un comportamento de
lgenere...
utilizzo vb6 di visual studio, ho già provato a chiudere e riaprire... anche
a riavviare... boh!

Ovviamente ho preso la decisione di riscrivere tutto il codice di questo
form, e l'errore non si ripresenta....
ed ho ottenuto un codice molto più facile da interpretare e ottimizzato
rispetto a quello che avevo in precedenza...
però vorrei capire come mai si è presentato quell'errore... e vorrei che non
capitasse più :-)

capitasse piů :-)
Lodevole intenzione :-)
Noi ti siamo di poco aiuto perche' non sappiamo cosa avevi scritto
prima, ne' come hai modificato dopo ;-)
-- 
ciao,
hal

 prima, ne' come hai modificato dopo ;-)
Infatti...
A me capitavano cose del genere (te lo dico magari ti serve) per problemi di
refresh e cose del genere...
-- 
Alex
"Un uomo saggio impara dall'esperienza,
un uomo ancora più saggio impara dall'esperienza degli altri." (Saggio
Cinese)

problemi di refresh di cosa? potrebbe essere, ma assolutamente non mi spiego
perchè con l'esecuzione passo passo questo non succedeva...
cmq grazie ugualmente!

perň alle volte č davvero utile riscrivere tutto daccapo...
non si perde molto tempo con il copia e incolla, ma si ottengono numerosi
vantaggi, un codice piů snello ed efficiente.
Inoltre inizierň a commentare molto di piů il mio codice! :-)
grazie a tutti comunque

Inoltre inizierň a commentare molto di piů il mio codice! :-)
Ottimo proposito, dovremmo tutti pensare cosi'.
A dire il vero, assegnare nomi significativi a classi, funzioni e
variabili permette di risparmiare sui commenti.
Pensa che fra il software su cui mi e' capitato di intervenire ho
trovato roba tipo questa:
Sub Form_MouseDown( button as integer, shift as integer, _
			x as integer, y as integer)
	For x = 1 To 1000
		Text1(8) = <qualcosa_che_adesso_non_ricordo>
		Check6 = 1
	Next
	s = <costruiva_un_testo>
	Text3 = s
End Sub
Inoltre l'Option Explicit era proprio un' optional.
Inutile dire che il programma era un colabrodo e rimetterlo in piedi
e' stato un bagno di sangue :-(
-- 
ciao,
hal

Ad occhio e croce la prima cosa che mi viene in mente è che magari 
alcune caselle di testo non facevano in tempo ad aggiornarsi per cui la 
procedura che doveva creare un recordset nel DB usava caselle di testo 
con valori che non erano quelli giusti, mentre eseguendo il programma 
passo-passo fra un F8 e l'altro le textbox avevano il tempo di 
aggiornarsi correttamente...
-- 
Nella vita una sola cosa è certa: se la storia ci ha insegnato qualcosa, 
è che si può uccidere chiunque.
(Michael Corleone)