Oppure

Loading
03/04/07 9:02
Flyman
Un saluto a tutta la comunità.
Vorrei sapere come fare a realizzare una procedura o sub in vb6 che esegua un operazione tipo caricare un file ma che sia disponibile anche se e' già in esecuzione (mentre carica un file lancio un'altra richiesta per caricare un altro file senza fermare la prima richiesta).
aaa
03/04/07 9:50
Hacker
dici DoEvents ?:-|
aaa
03/04/07 10:16
Flyman
no mi spiego meglio facendo un altro esempio.
Ammettiamo di avere una sub Prova e al suo interno c'è in ciclo do-loop

Public Sub Prova(ByVal i As Integer)
Do Until p >= 50000
p = p + 1
Form1.Label1(i).Caption = p
DoEvents
Loop
End Sub

poi da form richiamo la sub prova passando 0, 1, ecc
IL PROBLEMA
se richiamo Prova 0 parte a contare ma se lancio Prova 1 si ferma Prova 0 e aspetta che finisce
aaa
03/04/07 15:25
Reese
Cosa ti aspettavi?:) Non puoi richiedere la stessa funzione in contemporanea e farla andare due volte, Al massimo, usa un'altra funzione.
aaa
03/04/07 15:49
Flyman
Ho provato copiando la sub

Public Sub Prova1()
Do Until p >= 50000
p = p + 1
Form1.Label1(0).Caption = p
DoEvents
Loop
End Sub

Public Sub Prova2()
Do Until pp >= 50000
pp = pp + 1
Form1.Label1(1).Caption = pp
DoEvents
Loop
End Sub

ma il risultato non cambia, quindi credo che sia per via del do - loop che rimane in attesa
aaa
04/04/07 10:28
Reese
Hmm, si vede che il processore esegue solo un ciclo do-loop alla volta, nonostante il DoEvents.
aaa
04/04/07 10:35
Hacker
sì,secondo me in vb6 non si può fare...
aaa
04/04/07 11:08
P4p3r0g4
se non ti interessa la velocità di esecuzione ma solo un'esecuzione parallela puoi usare due timer.
(altrimenti stringi tutto in un solo do loop ma con effetto sdoppiato)
aaa