20 juin 2012
publié par 
Les fonctions AppelDLL32 et API du WLangage permettent d'appeler des fonctions contenues dans des DLL :
  • de Windows (Kerner32, user32 ...),
  • de SDK permettant l'utilisation de périphériques spécifiques,
  • de votre réalisation en C ou autre...

Avec les versions 16 et 17 de WINDEV, WEBDEV et WINDEV Mobile, il est possible d'utiliser une variable de type Description d'API. Cette variable permet de décrire par programmation une fonction à appeler dans une DLL, en spécifiant le type exact de tous ses paramètres.

Les avantages sont multiples :
  • une fois que la déclaration de la fonction de la DLL est faite, les appels se font en précisant le nom de la variable, comme s'il s'agissait d'une fonction WLangage, ou d'une fonction que vous avez créée à votre projet.
  • le typage précis des paramètres lors de la description, permet d'éviter les difficultés lorsqu'il faut typer les paramètres à passer à la fonction (retour "Le nombre de paramètres passés à la fonction est incorrect" du mécanisme de sécurité WLangage lors de l'appel). Par exemple avec une application compilée en 32 bits, la fonction API ne permet pas l'envoi d'un paramètre sur 8 octets (QWORD), mais la variable description API propose en revanche un paramètre de type apiEntier_8 qui convient.

Il n'est aucunement nécessaire de remplacer dans des traitements existants les appels des fonctions API/AppelDLL32 par des descriptions d'API. Par contre pour vos nouveaux traitements, pensez à les utiliser pour plus de lisibilité et de simplicité.

< Retour