Gå til innhold

spørsmål ang bruk av sleep/kernel32


Anbefalte innlegg

Hei

 

Har en lang remse med sleep kommandoer (ca 1500) (bruk), men det virker som at koden forsinkes litt.

 

f.eks

 

Private Declare Ansi Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

Dim tickstart As Long

tickstart = Environment.TickCount

For i = 1 To 1500

Sleep(10)

Next i

TextBox1.Text = Environment.TickCount - tickstart

End Sub

 

Her står det 15873 i textbox1 når koden er ferdig. Min forventning var 15000. I virkeligheten bruker den enda lengere tid, fordi det er kanskje 50 linjer med kode mellom For og Next, men jeg skal på jobb nå og har ikke mulighet til å teste hvor lang tid det egentlig tar, men det er snakk om flere sekunder.

 

Hva kan man gjøre for at koden skal bli "mer synkronisert"

 

 

Er det mulig å avbryte en sleepkommando uten å stoppe programmet?

Lenke til kommentar
Videoannonse
Annonse

Private Declare Ansi Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Koden din må jo faktisk utføres, og dette kan ikke bli gjort på 0 ticks. (Da hadde alle hatt superdatamaskiner)

 

Og hva er vitsen i en dllimport når du har system.threading.thread.sleep()

 

Og dette gjør meg gal:

Dim tickstart As Long
tickstart = Environment.TickCount

 

Hvorfor bruke 2 linjer når man kan bruke 1?

Dim tickstart As Long = Environment.TickCount

 

edit: Og forresten, lag en string variabel isteden for å modifisere textbox1 direkte hver gang, mye raskere.

Endret av Wubbable
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...