HTML Seite im TCppWebbrowser - Wert in Textarea ändern - Wie?



  • Hallo Zusammen,
    ich rufe in meinem Programm mittels eines TCppWebbrowsers eine Internetseite auf in der ich mit dem Code von hier
    http://www.bytesandmore.de/rad/index.htm?http://www.bytesandmore.de/rad/cpp/snipp/sc08019.php
    in den Inputfeldern einen Wert vorgeben.

    Ich möchte das ganze jetzt für eine Textarea auf einer Internetseite machen. Dafür habe ich den Code so geändert:

    if(Browser != 1)    {
        // Zur Sicherheit die Seite annavigieren:
        //WebBrowser->Navigate(WideString("http://www.livingbytes.de"));
        WebBrowser->Navigate(WideString("http://nolp.dhl.de/nextt-online-public/report_popup.jsp?lang=de&extendedSearch=true"));
        while(!WebBrowser->Busy) Application->ProcessMessages();
        while(WebBrowser->Busy) Application->ProcessMessages();
    
          IHTMLDocument2 *HTMLDoc = NULL;
    
          // Falls eine Seite geladen:
          if(SUCCEEDED(WebBrowser->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&HTMLDoc)))
          {
              IHTMLElementCollection *pAll = NULL;
              if(SUCCEEDED(HTMLDoc->get_all(&pAll)))
              {
                TVariant name = "idc";    //  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 *pTextarea = NULL;     // mshtml.h
                        pDisp->QueryInterface(IID_IHTMLInputElement, (LPVOID*)&pTextarea);
                        pDisp->Release();
                        if(pTextarea)
                        {
                            WideString mybuffer;
                            pTextarea->put_value (WideString("demo")); //hier der String, der zu schreiben ist.
                        }
                        pTextarea->Release();
                      }
                }
              }
              pAll->Release();
          }
          HTMLDoc->Release();
          Browser = 1;
        }
    

    Leider bekomme ich dann bei folgender Zeile

    pTextarea->Release();
    

    eine "Zugrifssverletzung bei...."

    Weiß jemand wo da der Fehler liegen könnte?

    Danke im voraus.


Log in to reply