Share via


Procedura dettagliata: creazione di un controllo ActiveX ATL multipiattaforma per Smart Device

Aggiornamento: novembre 2007

È possibile utilizzare Visual C++ per dispositivi per scrivere controlli ActiveX destinati a più dispositivi. Nella procedura dettagliata riportata di seguito viene illustrato come compilare un controllo ActiveX ATL multipiattaforma.

In questa procedura dettagliata verranno eseguite le operazioni indicate di seguito.

  • Creazione di un progetto ATL multipiattaforma per Smart Device.

  • Aggiunta di un controllo ActiveX al progetto mediante la procedura guidata. Si noti che la struttura e il codice di base vengono generati principalmente dalla procedura guidata.

  • Modifica del codice nei file stdafx.h e samplecontrol.h per definire il modello di threading ed evitare la generazione di avvisi del compilatore.

  • Distribuzione della soluzione multipiattaforma. Si noti che viene generato anche un file di Internet Explorer per facilitare il testing e l'esecuzione del controllo.

Questa procedura è stata scritta utilizzando le impostazioni di sviluppo di Visual C++.

Nota:

Le finestre di dialogo e i comandi di menu visualizzati potrebbero non corrispondere a quelli descritti nella Guida in linea in quanto dipendono dall'edizione o dalle impostazioni attive. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Impostazioni di Visual Studio.

Creazione di un controllo ActiveX ATL multipiattaforma

Per creare un controllo ActiveX ATL multipiattaforma

  1. Nel menu File scegliere Nuovo, selezionare Progetto, espandere il nodo Visual C++ nel riquadro Tipi progetto e quindi selezionare Smart Device.

  2. Nel riquadro Modelli selezionare Progetto ATL per Smart Device.

  3. Nella casella Nome digitare ATLAXControl, quindi scegliere OK.

    Verrà avviata la Creazione guidata progetto ATL per Smart Device.

  4. Scegliere Avanti nella schermata iniziale di Creazione guidata progetto ATL per Smart Device.

    Verrà visualizzata Piattaforme, Creazione guidata progetto ATL per Smart Device dalla quale è possibile selezionare i Platform SDK da aggiungere al progetto corrente.

  5. Dall'elenco SDK installati selezionare le piattaforme che si desidera aggiungere al progetto corrente, come ad esempio Smartphone 2003 e Pocket PC 2003. Per aggiungere una piattaforma, selezionarla nel riquadro sinistro, ad esempio Smartphone 2003, quindi fare clic sul pulsante con la freccia destra (>). Per rimuovere una piattaforma, selezionarla nel riquadro destro, ad esempio Pocket PC 2003, quindi fare clic sul pulsante con la freccia sinistra (<).

  6. Fare clic su Fine per completare e chiudere la procedura guidata.

Aggiunta di un controllo ActiveX al progetto

Per aggiungere un controllo ActiveX al progetto

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su ATLAXControl, scegliere Aggiungi, quindi Classe.

  2. Nel riquadro Categorie fare clic su Smart Device.

  3. Nel riquadro Modelli fare clic su Controllo ATL, quindi scegliere OK.

    Verrà visualizzata la finestra di dialogo Creazione guidata controllo ATL.

  4. Nella casella di testo Nome breve digitare samplecontrol.

  5. Fare clic su Fine per completare e chiudere la procedura guidata.

Modifica del codice nei file di intestazione

Per modificare il codice in stdafx.h

  1. In Esplora soluzioni, fare doppio clic su stdafx.h per aprirlo nell'editor.

  2. Aggiungere l'istruzione define #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA dopo #pragma once, come indicato di seguito:

        // Add this define after 
        #pragma once
    #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA
    
  3. Aggiungere un controllo ActiveX al progetto, come illustrato nella seguente procedura.

Per aggiungere un controllo ActiveX al progetto

  1. In Esplora soluzioni, fare doppio clic su samplecontrol.h per aprirlo nell'editor.

  2. Sostituire la stringa ATL 8.0 : samplecontrol con Hello World ActiveX Control nel codice in cui viene definito Isamplecontrol.

Nota:

I controlli ActiveX per una piattaforma DCOM devono essere contrassegnati come oggetti con modello di threading Apartment per la compilazione. Questa è l'impostazione predefinita della creazione guidata del controllo ATL. L'avviso generato durante la compilazione può essere ignorato senza problemi. Inoltre, per i progetti ATL, GUI e EXE, ad esempio quelli a cui è stato aggiunto atlwin.h, atlctl.h o atlhost.h, è necessario definire _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA nel file stdafx.h prima dell'inclusione dei file di intestazione ATL. Questa procedura è la stessa seguita per lo sviluppo per il desktop. Per ulteriori informazioni, vedere Generazione e debug dei progetti per dispositivi di Visual C++.

Distribuzione della soluzione ATL multipiattaforma

Per distribuire la soluzione

  1. Scegliere Ricompila soluzione dal menu Compila per compilare il controllo.

  2. Scegliere Distribuisci soluzione dal menu Compila.

  3. Nell'elenco a discesa Dispositivo di destinazione sulla barra degli strumenti di Visual Studio selezionare la destinazione, ad esempio Pocket PC 2003 SE - Emulatore o Pocket PC 2003 - Dispositivo.

  4. Scegliere Distribuisci dal menu Compila.

Scelta di un dispositivo di destinazione

Per assicurarsi che venga chiesto di selezionare un dispositivo al momento della distribuzione della soluzione, attenersi alla procedura che segue.

Per visualizzare un elenco di dispositivi in fase di distribuzione

  1. Scegliere Opzioni dal menu Strumenti, espandere il nodo Strumenti dispositivo, quindi fare clic su Generale.

  2. Se la scheda Strumenti dispositivo non è disponibile, selezionare Mostra tutte le impostazioni nella parte inferiore della finestra di dialogo Opzioni.

  3. Selezionare la casella di controllo Mostra opzioni dispositivi prima di distribuire un progetto per dispositivo, quindi scegliere OK.

Per eseguire il controllo, utilizzare Esplora file sul dispositivo, passare a Programmi\ATLAXControl e fare doppio clic sul file ATLAXControl di Internet Explorer. Verranno visualizzati uno o più messaggi di sicurezza. Scegliere Sì per eseguire la pagina.

Vedere anche

Riferimenti

Visual C++ (Procedure relative allo sviluppo per Smart Device)

Altre risorse

Procedura: creare un progetto per dispositivi multipiattaforma (Visual C++)