À l'aide d'ATL COM AppWizard
Pour créer un projet à l'aide d'ATL COM AppWizard
-
Ouvrez Visual C++. Cliquez sur nouveau dans le menu fichier , puis cliquez sur l'onglet projets.
-
Choisir votre type d'application ATL COM AppWizard .
-
Entrez un nom de projet.
-
Cliquez sur OK.

ATL COM AppWizard affiche une boîte de dialogue indiquant les options qui s'appliquent à votre projet ATL:
-
Choisissez parmi un des trois types de serveur : Bibliothèque de liaison dynamique (DLL) pour un serveur in-process, Fichier exécutable (EXE) pour un serveur out-of-process local ou Service ((EXE)), qui est une application Windows NT qui s'exécute en arrière-plan lorsque NT démarre.
-
Sélectionnez la case à cocher autoriser fusion du code proxy/stub comme une commodité lorsque le marshaling d'interfaces est nécessaire. Cette option place le code proxy et le stub MIDL généré dans la DLL de même que le serveur.
-
Sélectionnez la case à cocher Aide MFC (disponible pour les seuls projets DLL) à utiliser les fonctionnalités MFC (tels que CString) dans votre serveur.
-
Activez la case à cocher Soutenir MTS pour modifier les paramètres de configuration de projet à l'appui de Microsoft Transaction Server. Pour plus d'informations sur l'ajout de MTS soutien à votre projet, consultez MTS en charge dans les projets ATL.
Cliquez sur terminer pour générer le projet. AppWizard affiche ensuite des informations sur le projet qu'il crée et affiche ensuite le projet nouvellement créé dans l'espace de travail de projet.
&Notenbsp ; Lorsque vous générez votre projet, vous pouvez choisir une configuration MinDependency ou de MinSize . MinSize va générer un composant plus petit, puisque le code partagé sera utilisé de Atl.dll. Dans ce cas, vous devez distribuer Atl.dll à votre composant. MinDependency va générer un composant plus grand, puisque tout le code nécessaire sera lié à votre composant.
&Notenbsp ; Lors de la construction d'une version d'un projet, vous pouvez obtenir l'erreur suivante de lien:
LIBCMT.LIB(crt0.obj) : Erreur LNK2001 : symbole externe _main en suspens
Cette erreur se produit si vous utilisez des fonctions CRT qui nécessitent le code de démarrage CRT. Les configurations de sortie définissent _ATL_MIN_CRT, qui exclut les code de démarrage CRT de votre fichier EXE ou DLL. Pour éviter cette erreur, effectuez l'une des opérations suivantes:
-
Supprimer _ATL_MIN_CRT de la liste du préprocesseur définit pour permettre le code de démarrage CRT à inclure. Dans le menu projet , cliquez sur paramètres. Dans la paramètres pour : drop-down list, choisissez Plusieurs Configurations. Sélectionnez le projet configuration(s) à modifier boîte de dialogue qui apparaît, cliquez sur les cases à cocher pour toutes les versions et puis cliquez sur OK. Dans l'onglet C/C++ , choisissez la catégorie générale , puis supprimer _ATL_MIN_CRT de la zone d'édition de définitions de préprocesseur.
-
Si possible, supprimez les appels aux fonctions CRT qui nécessitent le code de démarrage CRT et utilisent leurs équivalents Win32. Par exemple, utilisez lstrcmp au lieu de strcmp. Les fonctions connues qui nécessitent le code de démarrage CRT font partie de la chaîne et les fonctions de point flottant.