interface_cast (fonction RTL C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Nouveau style de transtypage


interface_cast est une fonction template définie dans l'unité System, qu'il est possible d'utiliser pour interroger des interfaces. Elle est similaire à l'opérateur as de Delphi (à la différence que interface_cast n'est pas un opérateur intégré, mais une fonction RTL).

Vous devez utiliser interface_cast avec des interfaces de style COM afin de garantir une gestion correcte du cycle de vie des objets COM. Un objet COM a un compteur de références associé, qui est utilisé pour suivre le nombre d'instances d'interface qui exécutent des appels sur cet objet. Lors de la création de nouvelles instances d'interface avec interface_cast, les compteurs de références sont incrémentés de manière appropriée (_AddRef est appelée).

Le résultat de interface_cast doit être testé avant usage. S'il vaut null, le transtypage a alors échoué (ceci ressemble à la situation dynamic_cast).

Voir aussi