Dela via


Automation-klienter

Automation gör det möjligt för ditt program att manipulera objekt som implementerats i ett annat program eller att exponera objekt så att de kan manipuleras. En Automation-klient är ett program som kan manipulera exponerade objekt som tillhör ett annat program. Programmet som exponerar objekten kallas Automation-servern. Klienten manipulerar serverprogrammets objekt genom att komma åt objektens egenskaper och funktioner.

Typer av Automation-klienter

Det finns två typer av Automation-klienter:

  • Klienter som dynamiskt (vid körning) hämtar information om serverns egenskaper och operationer.

  • Klienter som har statisk information (tillhandahålls vid kompileringstillfället) som anger serverns egenskaper och åtgärder.

Klienter av den första typen hämtar information om serverns metoder och egenskaper genom att köra frågor mot OLE-systemets IDispatch mekanism. Även om det är tillräckligt att använda för dynamiska klienter är IDispatch det svårt att använda för statiska klienter, där objekten som drivs måste vara kända vid kompileringstillfället. För statiska bundna klienter tillhandahåller Microsoft Foundation-klasserna klassen COleDispatchDriver .

Statiska bundna klienter använder en proxyklass som är statiskt länkad till klientprogrammet. Den här klassen innehåller en typsäker C++-inkapsling av serverprogrammets egenskaper och åtgärder.

Klassen COleDispatchDriver ger huvudstöd för klientsidan av Automation. Med hjälp av dialogrutan Lägg till nytt objekt skapar du en klass som härletts från COleDispatchDriver.

Sedan anger du typbiblioteksfilen som beskriver egenskaperna och funktionerna för serverprogrammets objekt. Dialogrutan Lägg till objekt läser den här filen och skapar den COleDispatchDriver-härledda klassen med medlemsfunktioner som ditt program kan anropa för att få åtkomst till serverapplikationens objekt i C++ på ett typsäkert sätt. Ytterligare funktioner som ärvs från COleDispatchDriver förenklar processen med att anropa rätt Automation-server.

Hantera händelser i Automation-klienter

Om du vill hantera händelser i din automationsklient måste du lägga till ett mottagargränssnitt. MFC tillhandahåller guidestöd för att lägga till mottagargränssnitt för ActiveX-kontroller, men inte stöd för andra COM-servrar.

Se även

Automation-klienter: Använda typbibliotek
Automatisering
Guide för MFC-program