Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[C++ 6.0] Hoe kan ik een COM object gebruiken

Hoi, Ik wil gebruik maken van [b:b5357a5afa]C[/b:b5357a5afa]omponent [b:b5357a5afa]O[/b:b5357a5afa]bject [b:b5357a5afa]M[/b:b5357a5afa]odel. Maar ik weet niet hoe ik deze kan aanroepen. Bij MSDN heb ik wel het een en ander gevonden, maar wrdt ik nie veel wijzer van. Zo zou ik [i:b5357a5afa]CoInitialize()[/i:b5357a5afa] moeten aanroepen. Maar hoe dit gaat en welek waardes ik allemaal moet mee geven is mij niet duidelijk. Ik wil graag de word COM gebruiken (dus de Word.Application). Maar wat moet ik allemaal doen om bij het COM-object te komen. Ik heb er nog nooit mee gewerkt en wil het graag leren. Wie kan helpen of site weten waar nuttige informatie staat, graag. Tot nu toe ben ik op google nog niet echt wijzer geworden. Momenteel heb ik dit al: [code:1:b5357a5afa] void main (void) { printf("start\n"); // Initialize the COM CoInitialize(NULL); wchar_t progid[] = L"word.application"; CLSID clsid; CLSIDFromProgID(progid, &clsid); IUnknown *pUnknown = NULL; HRESULT hr = CoCreateInstance(clsid, NULL,CLSCTX_ALL, IID_IUnknown, (void**)&pUnknown); if (hr == S_OK) { printf("Sucess!!!!!!\n"); hr.setVisible(TRUE); /* werkt niet. Als je deze weg laat dan lijkt hij te werken. De visible heb ik noodig om te kijken of hij werkelijk werkt.*/ pUnknown->AddRef(); pUnknown->Release(); } if (hr == REGDB_E_CLASSNOTREG) { printf("REGDB_E_CLASSNOTREG\n"); } if (hr == CLASS_E_NOAGGREGATION) { printf("CLASS_E_NOAGGREGATION\n"); } // close COM CoUninitialize(); } [/code:1:b5357a5afa]

Anoniem
TP