Condividi tramite


automazione

Automazione (precedentemente nota come automazione OLE) fa sì che un'applicazione possa modificare oggetti implementati in un'altra applicazione o esporli in modo che possano essere manipolati.

Un Server di automazione è un'applicazione (un tipo di server COM) che espone le proprie funzionalità tramite le interfacce COM ad altre applicazioni, chiamate Client di automazione. L'esposizione consente ai client di automazione di automatizzare alcune funzioni accedendo direttamente agli oggetti e utilizzando i servizi che essi forniscono.

I server di automazione ed i client utilizzano le interfacce COM che derivano sempre da IDispatch e accettano e restituiscono uno specifico set di tipi di dati denominati tipi di automazione. È possibile automatizzare qualsiasi oggetto che espone un'interfaccia di automazione, fornendo i metodi e le proprietà a cui è possibile accedere da altre applicazioni. L'automazione è disponibile sia per gli oggetti OLE che COM. L'oggetto automatizzato potrebbe essere locale o remoto (in un altro computer accessibile attraverso una rete); pertanto esistono due categorie di automazione:

  • Automazione (locale).

  • Automazione remota (in una rete, utilizzando Distributed COM o DCOM).

Esporre oggetti è utile quando le applicazioni forniscono funzionalità utili per altre applicazioni. Ad esempio, un controllo ActiveX è un tipo di server di automazione; l'applicazione che contiene il controllo ActiveX è il client di automazione del controllo.

Ad esempio, un elaboratore di testi potrebbe esporre la proprie funzionalità di controllo ortografico ad altri programmi. L'esposizione degli oggetti consente ai fornitori di migliorare le proprie applicazioni sfruttando funzionalità preconfezionate di altre applicazioni. In questo modo, l'automazione applica alcuni dei principi della programmazione orientata a oggetti, ad esempio la possibilità di riutilizzo e l'incapsulamento, a livello delle stesse applicazioni.

Più importante è il supporto che l'automazione fornisce agli utenti e ai provider di soluzione. Esponendo la funzionalità dell'applicazione tramite un'interfaccia comune e definita chiaramente, l'automazione consente di compilare soluzioni complete in un unico linguaggio di programmazione generale, come ad esempio Microsoft Visual Basic, anziché in diversi macro linguaggi specifici per applicazione.

Molte applicazioni commerciali, quali Microsoft Excel e Microsoft Visual C++, permettono di automatizzare gran parte delle loro funzionalità. Ad esempio, in Visual C++, è possibile scrivere macro VBScript per automatizzare compilazioni, aspetti della modifica di codice o il debug delle attività.

Passaggio di parametri nell'automazione

Una difficoltà nel creare metodi di automazione è data dal contribuire a fornire un meccanismo "sicuro" uniforme per passare dati tra i server di automazione ed i client. L'automazione utilizza il tipo VARIANT per passare i dati. Il tipo VARIANT è un'unione contrassegnata. Contiene un membro dati per il valore (si tratta di un'unione anonima C++) e un membro dati che indica il tipo di informazioni archiviate nell'unione. Il tipo VARIANT supporta numerosi tipi di dati standard: interi a 2 e a 4 byte, numeri in virgola mobile a 4 e a 8 byte, stringhe e valori Boolean. Inoltre, supporta i tipi HRESULT (codici di errore OLE), CURRENCY (un tipo numerico a virgola fissa) e DATA (data e ora assoluta) come puntatori alle interfacce IUnknown e IDispatch.

Il tipo VARIANT è incapsulato nella classe COleVariant. Le classi supportanti CURRENCY e DATA sono incapsulate nelle classi COleDateTime e COleCurrency.

Esempi di automazione

  • AUTOCLIK   Utilizzare questo esempio per apprendere le tecniche di automazione e come base per l'apprendimento dell'automazione Remota.

  • ACDUAL   Aggiunge interfacce duali ad un server di automazione.

  • CALCDRIV   Applicazione client di automazione di guida MFCCALC.

  • INPROC   Dimostra un'applicazione server di automazione in-process.

  • un'applicazione client di automazione diIPDRIVE   Applicazione client di automazione di guida INPROC.

  • MFCCALC   Dimostra un'applicazione client di automazione.

Scegliere l'argomento su cui visualizzare maggiori informazioni

Scegliere l'argomento con cui si desidera procedere

Vedere anche

Concetti

MFC COM