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] waarde uit COM objecten halen

Hoi, ik heb een probleem met het krijgen van input uit een COM object. Ik kan contact leggen met een com-object. Nu wil ik graag een boolean waarde terug krijgen. Nu is mijn vraag hoe kan ik deze terug krijgen. Ik zie genoeg voorbeeld hoe je een waarde naar een COM object kan toeschrijven, maar nergens hoe je een waarde uit een COM object haald. Ik heb een stukje code toegevoegd, van de prperty waar mee ik contac leg en de variabelen terug zou moeten krijgen. Ik denkn dat dit wel gebeurd, maar ik kan deze er niet uitkrijgen. :-? [code:1:d04234a39e]//Invoke the dispid_Isrunning method szFunction = OLESTR("IsCIMPLICITYRunning"); hr = pDispApp->GetIDsOfNames(IID_NULL, &szFunction, 1, LOCALE_USER_DEFAULT, &dispid_Isrunning); if(FAILED(hr)) { printf("ERROR GetIDsOfNames() "); switch (hr) { case DISP_E_UNKNOWNNAME: printf("ERROR: DISP_E_UNKNOWNNAME\n", hr); break; case E_OUTOFMEMORY: printf("ERROR: E_OUTOFMEMORY\n"); break; case DISP_E_UNKNOWNLCID: printf("ERROR: DISP_E_UNKNOWNLCID\n"); break; } exit(0); } hr = pDispApp->Invoke (dispid_Isrunning, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_PROPERTYGET, &dpNoArgs, &vResult, NULL, NULL); InvokeHelper(dispid_Isrunning, DISPATCH_METHOD, VT_BOOL, (void*)&vResult, NULL,NULL); if(FAILED(hr)) { printf("ERROR Invoke() "); switch (hr) { case DISP_E_BADPARAMCOUNT: printf("ERROR: DISP_E_BADPARAMCOUNT\n", hr); break; case DISP_E_BADVARTYPE: printf("ERROR: DISP_E_BADVARTYPE\n"); break; case DISP_E_EXCEPTION: printf("ERROR: DISP_E_EXCEPTION\n"); break; case DISP_E_MEMBERNOTFOUND: printf("ERROR: DISP_E_MEMBERNOTFOUND\n"); break; case DISP_E_NONAMEDARGS: printf("ERROR: DISP_E_NONAMEDARGS\n"); break; case DISP_E_OVERFLOW: printf("ERROR: DISP_E_OVERFLOW\n"); break; case DISP_E_PARAMNOTFOUND: printf("ERROR: DISP_E_PARAMNOTFOUND\n"); break; case DISP_E_TYPEMISMATCH: printf("ERROR: DISP_E_TYPEMISMATCH\n"); break; case DISP_E_UNKNOWNINTERFACE: printf("ERROR: DISP_E_UNKNOWNINTERFACE\n"); break; case DISP_E_UNKNOWNLCID: printf("ERROR: DISP_E_UNKNOWNLCID\n"); break; case DISP_E_PARAMNOTOPTIONAL: printf("ERROR: DISP_E_PARAMNOTOPTIONAL\n"); break; } exit(0); } pDispActiveDoc = vResult.pdispVal;[/code:1:d04234a39e] Ik krijg als het goed is een TRUE terug als Cimplicity loopt anders FALSE. Maar hoe haal ik dit er uit?!?! Wie kan mij helpen? Alvast bedankt TP

Anoniem
TP