Mithilfe der ATL COM AppWizard
Erstellen Sie ein Projekt mithilfe des ATL COM AppWizard
-
Öffnen Sie Visual C++. Klicken Sie im Menü Datei auf neu , und klicken Sie auf die Registerkarte Projekte.
-
Wählen Sie ATL COM AppWizard als Ihrem Anwendungstyp.
-
Geben Sie einen Projektnamen.
-
Klicken Sie auf OK.

Die ATL COM AppWizard zeigt ein Dialogfeld mit Optionen, die für das ATL-Projekt gelten:
-
Wählen Sie eine der drei Servertypen: Dynamic Link Library ((DLL)) für in-Process-Server, Ausführbaren Datei (EXE) für einen lokalen Out-of-Process-Server oder Dienst (EXE), die eine Windows NT-Anwendung handelt, die im Hintergrund ausgeführt wird, wenn NT startet.
-
Wählen Sie das Kontrollkästchen zulassen Zusammenführen von Proxy-/Stubcode , Bequemlichkeit beim Marshallen von Schnittstellen erforderlich ist. Diese Option legt den MIDL-generierten Proxy- und Stub-Code in derselben DLL als server.
-
Aktivieren Sie das Kontrollkästchen Unterstützung MFC (DLL nur für Projekte verfügbar) mithilfe von MFC-Funktionen (wie z. B. CString) auf Ihrem server.
-
Aktivieren Sie das Kontrollkästchen Unterstützung von MTS , um die Projektbuildeinstellungen zur Unterstützung der Microsoft Transaction Server zu ändern. Weitere Informationen zum MTS-Unterstützung zu Ihrem Projekt hinzufügen finden Sie unter MTS-Unterstützung in ATL-Projekten.
Klicken Sie auf Fertig stellen , um das Projekt zu generieren. Der Anwendungs-Assistent zeigt dann Informationen über das Projekt, dass es schafft und dann das neu erstellte Projekt in der Project-Arbeitsbereich zeigt.
Hinweis&Nbsp; Wenn Sie Ihr Projekt erstellen, können Sie eine MinSize oder MinDependency -Konfiguration. MinSize generiert eine kleinere Komponente, da gemeinsamer Code von Atl.dll verwendet werden. In diesem Fall müssen Sie Atl.dll mit Ihrer Komponente verteilen. MinDependency generiert eine größere Komponente, da alle erforderlichen Code in mit der Komponente verknüpft werden soll.
Hinweis&Nbsp; Wenn Sie eine Release-Version eines Projekts zu erstellen, erhalten Sie den folgenden Link-Fehler:
LIBCMT.LIB(crt0.obj): Fehler LNK2001: unresolved external Symbol _main
Dieser Fehler tritt auf, wenn Sie verwenden CRT-Funktionen, die CRT-Startcode erfordern. Die Release-Konfigurationen definieren _ATL_MIN_CRT, die CRT-Startcode von Ihrem EXE oder DLL ausschließt. Um diesen Fehler zu vermeiden, führen Sie eine der folgenden:
-
Entfernen Sie _ATL_MIN_CRT aus der Liste der Präprozessordefinitionen definiert, die CRT-Startcode aufgenommen werden kann. Klicken Sie im Menü Projekt auf Einstellungen. In den Einstellungen für: Dropdown-Liste, wählen Sie Mehrere Konfigurationen. Projekt-Konfigurationen zu ändern, wählen Sie im Dialogfeld, das angezeigt wird, klicken Sie auf die Kontrollkästchen für alle Versionen, und klicken Sie dann auf OK. Wählen Sie auf der Registerkarte C/c++ die Kategorie Allgemein , dann entfernen Sie _ATL_MIN_CRT aus dem Eingabefeld Präprozessordefinitionen.
-
Entfernen Sie wenn möglich, Aufrufe von CRT-Funktionen, die CRT-Startcode erfordern und verwenden ihre Win32-Entsprechungen. Verwenden Sie beispielsweise Lstrcmp anstelle von Strcmp. Bekannte Funktionen, die CRT-Startcode erfordern sind nur einige der Zeichenfolge und der floating Point-Funktionen.