Veröffentlicht 13. Juli 200421 j Hallo Leute, ich habe eine ActiveX Control eingebunden und wenn ich auf die Methoden der OCX zugreife, bricht mir alles zusammen. Ich habe auch CoInitialize((LPVOID)0) zuvorgemacht, hier bekomme ich schon als Returnvalue S_FALSE zurück, keine Ahnung warum. Die ole32.lib habe ich auch drin und auch das vorgegebene Header habe ich. HILFE VC++ 7.1 habe ich im Einsatz.
13. Juli 200421 j wenn ich auf die Methoden der OCX zugreife, bricht mir alles zusammen.Geht's ein wenig genauer? Unter "bricht alles zusammen" kann ich mir nichts vorstellen. Ich habe auch CoInitialize((LPVOID)0) zuvorgemacht, hier bekomme ich schon als Returnvalue S_FALSE zurück, keine Ahnung warum.S_FALSE bedeutet hier, dass COM für diesen Thread bereits initialisiert wurde. Also kein Problem.
14. Juli 200421 j Ich habe eine exe in der ich eine OCX eingebunden habe. (Nicht über den Dialog) Hinzufügen Klasse AktiveX Control ... . Das VC++ Studio generiert dann eine (oder auch mehrere ) Klasse mit den Methoden aus der OCX. Ich kann also auch eine Objekt erzeugen und die Methoden aufrufen. die Methode: long Install(LPCTSTR strProduct) { long result; static BYTE parms[] = VTS_BSTR ; InvokeHelper(0x1, DISPATCH_METHOD, VT_I4, (void*)&result, parms, strProduct); return result; } --- hier Absturz in winocc.cpp m_pCtrlSite ist NULL; Warum? ///////////////////////////////////////////////////////////////////////////// // CWnd invoke helpers for OLE Control wrappers void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, ...) { ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least) if (m_pCtrlSite == NULL) return; va_list argList; va_start(argList, pbParamInfo); m_pCtrlSite->InvokeHelperV(dwDispID, wFlags, vtRet, pvRet, pbParamInfo, argList); va_end(argList); } --- Fehlermeldung: Debug Assertion Failed! File: winocc.cpp Line 374 ...
14. Juli 200421 j Ziel: Ich möchte in eine Exe, ohne einen Dialog zu nutzen, ein ActiveX Control (OCX) einbinden. Bestand: Habe eine OCX die 3 Methoden nach außen gibt. Eine Exe in der ich die OCX eingebunden habe mit Hilfe der VC++ Studios 7.1. Assi. Klasse hinzufügen, MFC ActiveX Control, usw... Es wurde eine Class angelegt, mit der ich die Methoden der OCX benutzen kann. Habe dann ein Objekt erzeugt und die Methode gerufen... Fehler: m_pCtrlSite == NULL in der winocc.cpp Was habe ich vergessen. Liegt es daran das die Class, die vom Assi angelegt wurde, von Wnd abgeleitet ist? Oder habe ich ein Create.. vergessen. Habe so was noch nie gemacht immer über einen Dlg. ///////////////////////////////////////////////////////////////////////////// // CWnd invoke helpers for OLE Control wrappers void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet, void* pvRet, const BYTE* pbParamInfo, ...) { --> FEHLER hier --->>> ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least) if (m_pCtrlSite == NULL) return; va_list argList; va_start(argList, pbParamInfo); m_pCtrlSite->InvokeHelperV(dwDispID, wFlags, vtRet, pvRet, pbParamInfo, argList); va_end(argList); }
14. Juli 200421 j Das mit dem Anworten tut wohl noch nicht ganz richtig. Habe den ersten Text geschrieben, dieser wurde aber erst sichtbar, als ich die 2te Antwort bestätigtet ???. Das soll Einer verstehen.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.