Mikähän kumma on kun VB6:ssa GetTickCount -funktio palauttaa täysin oikean uptimen, esim.
99599531
Ja parinsekunnin tarkkuudella samaan aikaan sama funktio palauttaa VB.net:ssä arvon:
1670961481073392
Tuo VB.net on tunkenut tuohon _hiukan_ omiaan sekaan, mikähän on ongelman(?) syy?
99599531
Ja parinsekunnin tarkkuudella samaan aikaan sama funktio palauttaa VB.net:ssä arvon:
1670961481073392
Tuo VB.net on tunkenut tuohon _hiukan_ omiaan sekaan, mikähän on ongelman(?) syy?
Vastaukset 4
Vanhimmat
>Tuo VB.net on tunkenut tuohon...
Eikös tuossa 1670961481073392 ole jo jotain mätää kun 32-bittisen integerin maksimi on 4294967295 eli ei se oikeasti voi palauttaa tuollaista arvoa kun laskurin pitää mennä "ympäri" jo paljon pienemmällä luvulla (vajaa 50 vrk). Jotain häikkää printtauksessa?
> Jotain häikkää printtauksessa?
Jos tässä koodissa on jotain häikkää niin sitten kyllä ; )
MsgBox(GetTickCount())
VB6:n Long pitää muuttaa Integeriksi VB.NET:ssä, tuossa voisi olla syy virheeseen:
Private Declare Function GetTickCount Lib "Kernel32" () As Integer
Tai voit käyttää VB.NET:n omaa funktiota:
System.Environment.TickCount()
Kiitoksia Vasenjalkainen, kummatkin noista tavoista toimi : )