Comme certains l'ont remarqués, les types du PureBasic sont limité (pas taper, Fred). Or, au bout de 25 jours (environs), la fonction ElapsedMilliseconds() ne fonctionne plus (et pour cause ! ). Comme cela provoque un beau bug dans Bird Chat (et pas que dans lui !), j'ai décidé de passer par le C afin de récupérer l'uptime, le traiter, et envoyer le produit fini au PureBasic. C'est donc, ce résultat que je vous présente. Pour l'instant, ce n'est pas encore génial, la nouvelle fonction ne fonctionnera que 49,7 jours, après c'est le DWORD qui ne supporte plus. Je travaille donc avec toute une équipe de bon compagnon (ohoh

), pour utiliser les fonctions pdh, mais elles sont extra complexes !
Voici comment utiliser la DLL
Code : Tout sélectionner
days = 0
hours = 0
minuts = 0
seconds = 0
If OpenLibrary(1, "UpTimeDLL.dll")
GetUpTime = IsFunction(1, "GetUpTime")
CallCFunctionFast(GetUpTime, 1, @days, @hours, @minuts, @seconds)
CloseLibrary(1)
Debug "UpTime : "+Str(days)+"d "+Str(hours)+"h "+Str(minuts)+"m "+Str(seconds)+"s."
EndIf
Le 1 se rapporte au mode de récupération. Il n'y en a qu'un pour l'instant. J'espère que le second arrivera bientôt et que ce sera le pdh.
Et pour télécharger la DLL ->
http ou
ftp
PS : Le code source sera disponible dans Bird Chat 2.2.