Sto notando da qualche tempo un problema su una piccola rete aziendale (7 PC con WIN XP) su cui girano diversi programmi in VB6 SP6: succede di tanto in tanto che un file (generalmente random) venga regolarmente aggiornato sul disco di rete ma che l'aggiornamento non risulti sul computer che l'ha effettuato mentre risulta su tutti gli altri computer.
Mi spiego meglio con un esempio.
Il computer "A" aggiorna un record del FileX che prima dell'aggiornamento conteneva il valore 10 che dopo l'aggiornamento è diventato 20.
I computer "B,C" ecc .... vedono tutti 20 mentre il computer A spesso continua a vedere 10 fino a che o si chiude il programma o si utilizza qualche altra routine del medesimo programma senza una logica precisa e ripetitiva.
Il mio dubbio è che dopo la close del file non si realizzi il flush del buffer (come dichiarato da Micrososft nel maniale VB6) e che quindi il computer A riapra in pratica il file nel medesimo buffer con i dati ancora presenti senza andare a rileggerli.
E' possibile questo? Esiste un modo per obbligare il flush dei buffer in VB6? Qualcuno ha per caso avuto il mesimo problema?
Grazie

Rispondi quotando
