Deux questions fichiers IDL COM simple que je ne peux pas sembler trouver des réponses pour, même avec la recherche MSDN et Internet général:Deux questions simples de syntaxe COM IDL: existe-t-il un moyen de spécifier le modèle de thread, et ai-je besoin de void pour dire "no arguments"?
Y at-il un attribut d'interface qui me permet de spécifier mon interface doit être mis en œuvre par Objets STA uniquement, ou s'agit-il d'un détail pour ma documentation uniquement? J'ai déjà
[object, local]
que je pense est correct pour les objets COM non-remoting (in-process).Ai-je besoin de
void
entre les parenthèses de mes déclarations de méthode (comme en C) pour ne spécifier aucun argument? MSDN est incohérent à ce sujet; Les fichiers d'en-tête Mes propres implémentations personnelles de cette interface seront en C.
Merci.
COM est plein de choses sous-spécifiées qui ont fini comme elles sont à cause de comment la pratique commune est tombée dans les premiers jours de COM ... Je ne vois aucun mal à utiliser «void», et je ne vois pas ce que attribut d'interface permettrait d'atteindre. (Si quelqu'un d'autre veut implémenter votre interface bien pour eux). Les modèles de threads pris en charge sont une propriété de la classe, pas une interface particulière. –
Ah, "propriété de la classe" a du sens alors. Merci pour les deux réponses! – andlabs