wchar_t * * p einlesen und nach String konvertieren
-
Hi! ^^
Ich möchte mit einer Funktion in einen wchar_t * * p schreiben. Zumindest ist dieser als anzugebenden Parameter dargestellt. Das ganze greift auf einen CppWebBrowser zu und liest die Werte aus.
Folgendes habe ich versucht:
wchar_t * * value; pInput->get_value(value); // Hier soll der wchar_t gefüllt werdenAn der entsprechenden Programmstelle bekomme ich eine Fehlermeldung, welche mir sagt dass das Problem in der mshtml.dll liegt.
Schreiben funktioniert:
WideString test = "hallo!"; pInput->put_value(test);Und noch ein Problem. Wie kann ich den zurückgelieferten Wert in einen String konvertieren

Kompletter Codeabschnitt:
IHTMLDocument2 *HTMLDoc = NULL; if(SUCCEEDED(browser1->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&HTMLDoc))) { IHTMLElementCollection *pAll = NULL; if(SUCCEEDED(HTMLDoc->get_all(&pAll))) { TVariant name = "tinytext"; // hier kommt der name des Feldes hin (siehr HTML source) IDispatch *pDisp = NULL; TVariant index=0; if(SUCCEEDED(pAll->item(name, index, &pDisp))) { if(pDisp) { IHTMLInputElement *pInput = NULL; // mshtml.h pDisp->QueryInterface(IID_IHTMLInputElement, (LPVOID*)&pInput); pDisp->Release(); if(pInput) { WideString test; pInput->put_value(value); } pInput->Release(); } } } pAll->Release(); } HTMLDoc->Release();Danke
-
Hallo
Aus deinem Quellcode wird nicht klar ob du überhaupt value einen gültigen Speicherbereich zugewiesen hast.
bis bald
akari
-
Sry hab ich eben vergessen. Das Problem ist aber ein ganz anderes. So funktioniert es:
IHTMLDocument2 *HTMLDoc = NULL; if(SUCCEEDED(browser1->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&HTMLDoc))) { IHTMLElementCollection *pAll = NULL; if(SUCCEEDED(HTMLDoc->get_all(&pAll))) { TVariant name = "tinytext"; // hier kommt der name des Feldes hin (siehr HTML source) IDispatch *pDisp = NULL; TVariant index=0; if(SUCCEEDED(pAll->item(name, index, &pDisp))) { if(pDisp) { IHTMLInputElement *pInput = NULL; // mshtml.h pDisp->QueryInterface(IID_IHTMLInputElement, (LPVOID*)&pInput); pDisp->Release(); if(pInput) { BSTR Value; pInput->get_value(&Value); ShowMessage(Value); } pInput->Release(); } } } pAll->Release(); } HTMLDoc->Release();