1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| // la bibliothèque/tlb ProSim est dans la dll
#import <S7wspsmx.dll> named_guids, no_namespace//interfaces brutes uniquement
class ProSimWrapper
{
public:
ProSimWrapper() : m_pProSim(OLESTR("S7wspsmx.S7ProSim"), NULL,
CLSCTX_INPROC_SERVER)
{}; // le pointeur intelligent est automatiquement créé
// dans la pile au démarrage de l'application
virtual ~ProSimWrapper()
{}; // pas d'implémentation, le pointeur intelligent est
// automatiquement libéré à l'arrêt de l'application
IS7ProSim * GetPtr()
{
return m_pProSim;
};
// Attributs
protected:
// IProSimPtr est un pointeur intelligent CComPtr vers l'interface IProSim
// Il vient du fichier dll de #import
// CoCreateInstance sera appelé automatiquement dans l'objet
// pointeur dans le constructeur de cette classe
// la libération de pointeur (release ptr) est automatiquement
// appelée par le destructeur de cette classe
IS7ProSimPtr m_pProSim;
}; |