attribut module
L’instruction module définit un groupe de fonctions, généralement un ensemble de points d’entrée DLL.
[
attributes
]
module modulename
{
elementlist
};
Paramètres
-
attributes
-
Les attributs [uuid], [version], [helpstring], [helpcontext], [hidden] et [dllname] sont acceptés avant une instruction de module . Pour plus d’informations sur les attributs acceptés avant une définition de module, consultez Descriptions des attributs dans le livre OLE Automation. L’attribut [dllname] est obligatoire. Si l’attribut [uuid] est omis, le module n’est pas spécifié de manière unique dans le système.
-
modulename
-
Nom du module.
-
elementlist
-
Liste des définitions constantes et des prototypes de fonction pour chaque fonction de la DLL. N’importe quel nombre de définitions de fonction peut apparaître dans la liste des fonctions. Une fonction dans la liste de fonctions se présente sous la forme suivante :
[attributs] returntype [calling convention funcname](params);
[attributs] const constanttype constname = constval;
Seuls les attributs [helpstring] et [helpcontext] sont acceptés pour un const.
Les attributs suivants sont acceptés sur une fonction dans un module : [helpstring], [helpcontext], [string], [entry], [propget], [propputref], et [vararg]. Si [vararg] est spécifié, le dernier paramètre doit être un tableau sécurisé de type VARIANT .
La convention d’appel facultative peut être __pascal/_pascal/pascal, __cdecl/_cdecl/cdecl ou __stdcall/_stdcall/stdcall. Le type de convention d’appel paramname peut inclure jusqu’à deux traits de soulignement de début.
La liste de paramètres est une liste délimitée par des virgules de :
[attributs]
Le type peut être n’importe quel type ou type intégré précédemment déclaré, pointeur vers n’importe quel type ou pointeur vers un type intégré. Les attributs sur les paramètres sont les suivants :
[in], [out], [facultatif].
Si [facultatif] est utilisé, les types de ces paramètres doivent être VARIANT ou VARIANT*.
Notes
La sortie du fichier d’en-tête (.h) pour les modules est une série de prototypes de fonction. Le module mot clé et les crochets environnants sont supprimés de la sortie du fichier d’en-tête (.h), mais un commentaire (// nom du module) est inséré avant les prototypes. Le mot clé extern est inséré avant les déclarations.
Exemples
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("This is not GDI.EXE"),
helpcontext(190),
dllname("MATH.DLL")
]
module somemodule
{
[helpstring("Color for the frame")]
unsigned long const COLOR_FRAME = 0xH80000006;
[helpstring("Not a rectangle but a square"),
entry(1)]
pascal double square([in] double x);
};
Voir aussi