Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
A

Andrew J Burke

@Andrew J Burke
About
Posts
4
Topics
1
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • setting form element values using ie TCppWebBrowser control
    A Andrew J Burke

    Thankyou very much...every thing worked I added NO_PROMPT_ON_HRCHECK_FAILURE to the Conditionals list. and inserted a try/catch block around my code in the document complete event. Now if every login page had the same names for their form & input names!

    C / C++ / MFC c++

  • setting form element values using ie TCppWebBrowser control
    A Andrew J Burke

    That Worked! It Fills the values but when I submit the form the web browser comes up with a dialog with a caption of: _ASSERTE: and Message of: intf = 0 @ C:\Program Files\Borland\CBuilder6\Include\Vcl\utilcls.h/2916 Press[Y]es to terminate, [N]o to continue and [C]ancel to Debug My code: template HRESULT __fastcall TBrowserFrame::GetHTMLItem(TComInterface &CollectionOrElement, const WideString &name, ItemIntf** ppIntf) { TVariant vName = name; TVariant vIndex = 0; TComInterfacedisp; HRESULT hRes = CollectionOrElement->item(vName, vIndex, &disp); if( SUCCEEDED(hRes) ) hRes = disp->QueryInterface(__uuidof(ItemIntf),(LPVOID*)ppIntf); return hRes; } //--------------------------------------------------------------------------- void __fastcall TBrowserFrame::BrowserDocumentComplete(TObject *Sender, LPDISPATCH pDisp, Variant *URL) { if( Browser->Document ) { TComInterfaceHTMLDoc;; if(SUCCEEDED(Browser->Document->QueryInterface( IID_IHTMLDocument2,(LPVOID*)&HTMLDoc) ) ) { TComInterfaceforms; if( SUCCEEDED(HTMLDoc->get_forms(&forms)) ) { TComInterfaceform;; if( SUCCEEDED(GetHTMLItem(forms, "idpform", &form)) ) { TComInterfaceuserid; TComInterfacepassword; GetHTMLItem(form, "txtUsername", &userid); GetHTMLItem(form, "txtPassword", &password); if( userid ) userid->put_value(WideString(username)); if( password ) password->put_value(WideString(pass)); //form->submit(); } } } } } //---------------------------------------------------------------------------

    C / C++ / MFC c++

  • setting form element values using ie TCppWebBrowser control
    A Andrew J Burke

    /* Well I got this far I get 3 errors in the BrowserDocumentComplete event: (C++ Error)BrowserFrm.cpp(53): E2285 Could not find match for 'TBrowserFrame::GetHTMLItemTComInterface,char *,IHTMLFormElement * *)' (C++ Error)BrowserFrm.cpp(58): E2285 Could not find match for 'TBrowserFrame::GetHTMLItemTComInterface,char *,IHTMLInputElement* *)' (C++ Error)BrowserFrm.cpp(59): E2285 Could not find match for 'TBrowserFrame::GetHTMLItemTComInterface,char *,IHTMLInputElement* *)' */ //I marked the lines with the errors below: //BrowserFrm.cpp #include #pragma hdrstop #include "BrowserFrm.h" #include #include //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "SHDocVw_OCX" #pragma resource "*.dfm" TBrowserFrame *BrowserFrame; //--------------------------------------------------------------------------- __fastcall TBrowserFrame::TBrowserFrame(TComponent* Owner) : TFrame(Owner) { } //--------------------------------------------------------------------------- void __fastcall TBrowserFrame::Go(AnsiString url) { Browser->Navigate(StringToOleStr(url),0,NULL,NULL,NULL); } //--------------------------------------------------------------------------- template HRESULT __fastcall TBrowserFrame::GetHTMLItem(ParentIntf *CollectionOrElement, const WideString &name, ItemIntf** ppIntf) { TVariant vName = name; TVariant vIndex = 0; TComInterface disp; HRESULT hRes = CollectionOrElement->item(vName, vIndex, &disp); if( SUCCEEDED(hRes) ) hRes = disp->QueryInterface(__uuidof(ItemIntf),(LPVOID*)ppIntf); return hRes; } //--------------------------------------------------------------------------- void __fastcall TBrowserFrame::BrowserDocumentComplete(TObject *Sender, LPDISPATCH pDisp, Variant *URL) { if( Browser->Document ) { TComInterfaceHTMLDoc; if(SUCCEEDED(Browser->Document->QueryInterface( IID_IHTMLDocument2,(LPVOID*)&HTMLDoc) ) ) { TComInterfaceforms; if( SUCCEEDED(HTMLDoc->get_forms(&forms)) ) { TComInterfaceform; /*Line 53 error*/ if( SUCCEEDED(GetHTMLItem(forms, "loginform", &form)) ) { TComInterfaceuserid; TComInterfacepassword;

    C / C++ / MFC c++

  • setting form element values using ie TCppWebBrowser control
    A Andrew J Burke

    This is what I've come up with so far but need to find & add values to the form elements for user input and password input, then submit. I'm using C++Builder6. #include // TComInterfaceHTMLDoc; Browser->Document->QueryInterface(IID_IHTMLDocument2,(LPVOID*)&HTMLDoc); //get all the forms TComInterfaceHTMLforms; HTMLDoc->get_forms(&HTMLforms); //Get form 0 since login pages have only one form TComInterfaceHTMLform; //Get User,Password fields & set values TComInterfaceHTMLfield; //Then submit form HTMLform->submit(); Thanks!

    C / C++ / MFC c++
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups