Condividi tramite


Esempio CALCDRIV: dimostrazione di un'applicazione client di automazione

Aggiornamento: novembre 2007

L'esempio CALCDRIV rappresenta una semplice applicazione client di automazione (precedentemente nota come automazione OLE). Con CALCDRIV viene controllata l'applicazione di esempio MFCCALC, un server di automazione con funzioni di calcolo di base. Con MFCCALC viene fornita un'interfaccia semplice molto simile a quella della Calcolatrice di Microsoft Windows.

Nota sulla sicurezza:

Questo esempio di codice viene fornito solo a scopo dimostrativo e non deve essere utilizzato in applicazioni o siti Web, poiché potrebbe non implementare le tecniche migliori a livello di sicurezza. Microsoft esclude ogni responsabilità per danni diretti o indiretti derivanti dall'utilizzo dell'esempio di codice per scopi diversi da quelli previsti.

Per ottenere gli esempi e le istruzioni per l'installazione:

  • In Visual Studio scegliere Esempi dal menu ?.

    Per ulteriori informazioni, vedere Individuazione dei file di esempio.

  • La versione più recente e l'elenco completo degli esempi sono disponibili in linea alla pagina Visual Studio 2008 Samples.

  • È anche possibile trovare gli esempi sul disco rigido del computer. Per impostazione predefinita, gli esempi e il file Leggimi vengono copiati in una cartella nel percorso \Programmi\Visual Studio 9.0\Samples\. Per le versioni Express di Visual Studio, tutti gli esempi sono disponibili in linea.

Generazione ed esecuzione dell'esempio

Per generare ed eseguire l'esempio CALCDRIV

  1. Eseguire le operazioni descritte in MFCCALC per generare ed eseguire il progetto.

  2. Aprire la soluzione calcdriv.sln.

  3. Scegliere Genera dal menu Genera.

    Nota:

    Se prima di generare CALCDRIV non viene generata e registrata l'applicazione MFCCALC, verrà visualizzato un messaggio in cui si segnala l'impossibilità di creare l'oggetto MFCCALC.Application.

Quando si esegue CALCDRIV, viene visualizzata la finestra di dialogo MFC Calc Driver e viene avviata l'applicazione MFCCALC. A questo punto, è possibile utilizzare l'interfaccia utente della calcolatrice di MFCCALC oppure controllare MFCCALC da CALCDRIV nel modo indicato di seguito:

  1. Nella casella Expression della finestra di dialogo MFC Calc Driver, immettere due o più numeri separati da un operatore +, -, * oppure /.

    Nota:

    Le parentesi non sono riconosciute da MFCCALC e non è supportata la precedenza degli operatori.

  2. Scegliere Go affinché in MFCCALC venga eseguita la valutazione dell'espressione in una sola operazione.

  3. Scegliere Single Step affinché l'espressione venga analizzata un numero o un operatore alla volta.

  4. Scegliere Refresh per richiedere informazioni sullo stato di MFCCALC (Last Accum e Last Operand).

Utilizzo di classi di invio

In CALCDRIV la classe CRemoteCalcDlg viene utilizzata nel modo seguente:

  • La classe CRemoteCalcDlg di CALCDRIV rappresenta l'interfaccia dispatch di MFCCALC. La classe CRemoteCalcDlg è derivata da CCmdTarget, nella quale sono presenti alcune funzioni membro specifiche dell'automazione, ad esempio CreateDispatch.

  • In CDriverDlg è incorporato un oggetto CRemoteCalcDlg, ovvero m_calc. L'oggetto CRemoteCalcDlg, così come l'oggetto CDriverDlg nel quale è incorporato, rimane attivo quasi per l'intera durata di CALCDRIV. CRemoteCalcDlg viene costruito contestualmente all'oggetto finestra di dialogo.

  • CDriverDlg::OnInitDialog chiama CCmdTarget::CreateDispatch per l'oggetto CRemoteCalcDlg. Per CreateDispatch il nome dispatch deve essere specificato come primo parametro. Generalmente gli sviluppatori di applicazioni server di automazione forniscono una documentazione di riferimento in cui vengono descritti i nomi delle interfacce dispatch e le proprietà e i metodi di tali interfacce. Una soluzione alternativa per individuare i nomi delle interfacce dispatch di un'applicazione server di automazione consiste nell'esaminare il Registro di sistema di Windows del server utilizzando il comando REGEDIT /v (opzione dettagliata).

  • CDriverDlg implementa l'analizzatore di espressioni di CALCDRIV chiamando il metodo Button di MFCCALC, ovvero un emulatore dei pulsanti disponibili nella finestra di dialogo della calcolatrice.

  • CDriverDlg implementa la funzione Refresh di CALCDRIV chiamando i metodi GetOpnd e GetAccum di MFCCALC.

  • Il distruttore CDriverDlg chiama il metodo Quit esposto da MFCCALC per chiudere MFCCALC al termine di CALCDRIV.

Parole chiave

Nell'esempio vengono illustrate le seguenti parole chiave:

AfxMessageBox; AfxOleInit; CDialog::DoModal; CDialog::EndDialog; CDialog::OnInitDialog; CEdit::GetSel; CEdit::SetSel; COleDispatchDriver::AttachDispatch; COleDispatchDriver::CreateDispatch; COleDispatchDriver::GetProperty; COleDispatchDriver::InvokeHelper; COleDispatchDriver::SetProperty; CString::GetLength; CWinApp::InitInstance; CWnd::DoDataExchange; CWnd::GetWindowText; CWnd::SetWindowText; GetWindowText; afxMemDF; min; wsprintf

Nota:

Alcuni esempi, tra cui il presente, non sono stati cambiati per riflettere le modifiche apportate alle procedure guidate, alle librerie e al compilatore di Visual C++, tuttavia forniscono comunque le istruzioni per completare l'attività desiderata.

Vedere anche

Altre risorse

Esempi relativi ad MFC