Webbrowser automatisieren



  • hallo!
    hab nun endlich einen funktionierenden code gefunden, welchen ich jedoch nicht schaffe, in eine form umzuformen und zu verbessern:

    IHTMLDocument2 *HTMLDoc = NULL;
                    if(SUCCEEDED(WB->Document->QueryInterface(IID_IHTMLDocument2,
                      (LPVOID*)&HTMLDoc)))
                    {
                      IHTMLElementCollection *pAll = NULL;
                      if(SUCCEEDED(HTMLDoc->get_all(&pAll)))
                      {
                        TVariant name = feld;
                        IDispatch *pDisp = NULL;
                        TVariant index=form;
                        if(SUCCEEDED(pAll->item(name, index, &pDisp)))
                        {
                          if(pDisp)
                          {
                            IHTMLInputElement *pInput = NULL;
                            pDisp->QueryInterface(IID_IHTMLInputElement, (LPVOID*)&pInput);
                            pDisp->Release();
                            if(pInput)
                            {
                              WideString mybuffer;
                              pInput->put_value (WideString("......"));
                            }
                            pInput->Release();
                          }
                        }
                      }
                    pAll->Release();
                    }
                    HTMLDoc->Release();
    

    3 dinge, die mich dran stören:
    -es is keine funktion
    -in der zeile "pInput->put_value (WideString("......"));" lässt sich "......." nicht durch nen ansistring ersetzen
    -der index füllt jedes n. objekt mit diesem name aus. warum kann es nicht einfach jedes feld mit der bezeichnung ausfüllen...

    vielen dank für jegliche hilfe!



  • Hallo,

    was den zwieten Punkt betrifft müsstest du auch

    AnsiString teststring;
    teststring = "Test";
    pInput->put_value (StringToOleStr(teststring));
    

    verwenden können...

    (Ich bin mir nicht ganz sicher, könnte auch StrToOleString() sein...)


Anmelden zum Antworten