Warning : This page has been marked as an archive because the author consider that its content is no longer relevant.

Lorsque l’on programme des opérations asynchrones on veux souvent tester la réaction de l’interface graphique. Par exemple est-ce qu’un indicateur visuel de chargement s’affiche bien si l’opération est longue etc….

En C# on a souvent eu la surprise de ne pas retrouver notre bon vieux Thread.Sleep(milliseconds) mais on a fini par s’habituer à son remplaçant await Task.Delay(milliseconds).

Oui mais quand on développe un composant en C++ on fait comment pour faire un Sleep ?

Voici la réponse :

Windows::Foundation::IAsyncOperation<int>^ Class1::MyAsyncMethod()
{
	return create_async([this]() {
		// CECI EST LE SLEEP
		WaitForSingleObjectEx(GetCurrentThread(), milliseconds, FALSE);
		return 42;
	});
}

Si vous êtes intéressés par la documentation de la méthode WaitForSingleObjectEx voici où la trouver : http://msdn.microsoft.com/en-us/library/ms687036(v=VS.85).aspx

Comments