Utilisation Du Yocto-Rangefinder Avec Universal Windows Platform; Fonctions Bloquantes Et Fonctions Asynchrones - Yoctopuce Yocto-RangeFinder Mode D'emploi

Table des Matières

Publicité

19. Utilisation du Yocto-RangeFinder avec Universal
Windows Platform
Universal Windows Platform, abrégé UWP, est n'est pas un langage à proprememt parler mais une
plate-forme logicielle créée par Micorosft. Cette platform permet d'executer un nouveau type
d'applications : les application universelle Windows. Ces applicaiton peuvent fonctionner sur toutes
les machines qui fonctione sous Windows 10. Cela comprend les PCs, les tablettes, les
smartphones, la XBox One, mais aussi Windows IoT Core.
La librairie Yoctopuce UWP permet d'utiliser les modules Yoctopuce dans une application universelle
Winodws et est entièrement écrite C#. Elle peut être ajoutée a un projet Visual Studio 2017

19.1. Fonctions bloquantes et fonctions asynchrones

La librairie Universal Windows Platform n'utilise pas l'API win32 mais uniquement l'API Windows
Runtime qui est disponible sur toutes les versions de Windows 10 et pour n'importe quelle
architecture. Grâce à cela la librairie UWP peut être utilisé sur toutes les versions de Windows 10, y
compris Windows 10 IoT Core.
Cependant, l'utilisation des nouvelles API UWP n'est pas sans conséquence: l'API Windows Runtime
pour accéder aux ports USB est asynchrone, et par conséquent la librairie Yoctopuce doit aussi être
asynchrone. Concrètement les méthodes asynchrones ne retournent pas directement le résultat
mais un objet
Task
langage C# version 6 supporte les mots-clefs
ces fonctions. Il est ainsi possible d'utiliser les fonctions asynchrones de la même manière que les
fonctions traditionnelles pour autant que les deux règles suivantes soient respectées:
• La méthode est déclarée comme asynchrone à l'aide du mot-clef
• le mot-clef
await
Exemple:
async Task<int>
MyFunction(int
{
// do some long computation
...
return result;
}
1
https://www.visualstudio.com/fr/vs/
www.yoctopuce.com
ou
et le résultat peut être obtenu plus tard. Fort heureusement, le
Task<>
est ajouté lors de l'utilisation d'une fonction asynchrone
val)
et
qui simplifie beaucoup l'utilisation de
async
await
1
.
async
147

Publicité

Table des Matières
loading

Table des Matières