COM benutzen
-
Hallo Forum,
ich bekomme diese Fehlermeldung:
: error C2065: 'CoInitializeEx' : undeclared identifierWenn ich im Internet suche wird mir gesagt das ich neben den Headern auch dieses vor allen Headern definieren soll:
#ifndef _WIN32_DCOM
#define _WIN32_DCOM
#endifIch habe in dem Cpp File wo ich CoInitializeEx() benutze ganz oben die 3 Zeilen hineinkopiert. Trotzdem kommt die Meldung. Wenn ich _WIN32_DCOM in den Projekt Settings definiere kommt die Meldung nicht mehr. Habt Ihr eine Idee? Ich benutze das VS6.
Vielen Dank
-
Dazu muss _WIN32_WINNT >= 0x0400 definiert sein!
Siehe:
http://msdn2.microsoft.com/en-us/library/aa383745.aspxEvtl. neues SDK (letztes verfügbares für VC6) installieren.
Am Besten VC6 einstampfen und VS2005 verwenden!
-
Das scheint es nicht gewesen zu sein. Ich habe jetzt in der Cpp an erster Stelle dies stehen:
#define _WIN32_WINNT 0x0400 #ifndef _WIN32_DCOM #define _WIN32_DCOM #endifDer Fehler bleibt. Hat es vielleicht damit zu tun das es ein MFC GUI Projekt ist? Die Cpp Datei kann ich in einem Kommandozeilenprojekt problemlos verwenden. Nur jetzt wo ich die GUI mache geht es nicht mehr...
Das VS6 muss bleiben. Das neueste SDK habe ich heruntergeladen (aus dem hiesigem FAQ Posting).
-
Du musst das natürlich definieren, *bevor* Du windows.h einbindest.
Ich empfehle Dir diese Defines in den Projekteinstellungen zu machen (_WIN32_DCOM reicht da aus!)
-
Oder in der stdafx.h. Hier mache ich das grundsätzlich. Damit sind alle speziellen Projekt defines in dieser Datei zusammengefasst und lassen sich auch leichter im Source-Control-System verfolgen.
-
Wenn das Define in der StdAfx.h steht funktioniert es. Ärgerlich ist nur das ich DCOM nur in dieser einen speziellen Klasse benötige. Wenn ich die Klasse weitergebe muß ich das Define extra mitgeben...
-
Du kanst ja als Vorraussetzung W2K angeben! Denn das kann per SDK ja dann auch definiert sein!
-
Ok, danke
