Guten Morgen.
Ich habe ein kleine Problem. Ich fange grade an mich mit COM zu beschäftigen. also habe ich das Tutorial von Microsoft verwendet.
Walkthrough: Creating a COM Server Using Wizards
soweit so gut. Beim Testclient habe ich dann ein Problem. Ich bekomme an der stell (spUnknown.QueryInterface(&pI) immer einen Fehler. &pI zeigt auf eine Addresse und in der steht nur (0x0000000) drin.
Dort bekomme ich dann immer folgende Fehlermeldung:
Unbehandelte Ausnahme bei 0x001a3e09 in COMTest.exe: 0xC0000005:
Zugriffsverletzung beim Lesen an Position 0x00000000
System:
Windows Vista
Visual studio 2008
C++
Danke schonmal.
#include "stdafx.h"
#include <iostream>
#include "atlbase.h"
#import ".\MyServer\MyServer.tlb" no_namespace
using namespace std;
struct OleCom {
OleCom() { CoInitialize(NULL);}
~OleCom() { CoUninitialize(); }
}olecom;
int _tmain(int argc, _TCHAR* argv[])
{
CComPtr<IUnknown> spUnknown;
spUnknown.CoCreateInstance(__uuidof(Object1));
CComPtr<IObject1> pI;
spUnknown.QueryInterface(&pI); //fehler
short res = 0;
pI->get_GetANum(&res);
cout << res << endl;
return 0;
}