Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa IExplorer ActiveX kontrolom

[es] :: C/C++ programiranje :: Problem sa IExplorer ActiveX kontrolom

[ Pregleda: 2780 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Član broj: 71
Poruke: 2194
*.itn.is

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Problem sa IExplorer ActiveX kontrolom19.08.2002. u 18:01 - pre 263 meseci
Pozdrav svima,

Naidjoh danas na svojevrstan problem. Radi se o sledecem: Glavna aplikacija ima CListCtrl kontrolu, i ukoliko se selektuje vise items-a, program poziva dialog i propusta mu informacije o selektovanim item-ovima. Taj dijalog zatim za svaki item otvara HTML stranicu (php skript) u invisible IExplorer ActiveX objektu, stampa stranicu i otvara sledecu.

Tako bi bar trebalo da radi.. Medjutim, krajnji rezultat koji ja imam je da se prikaze i stampa samo poslednji item (odnosno poslednja HTML stranica).

Kod izgleda ovako:
Code:

for (j;j<arMax;j++) {
        pSet->FindRecord(idArray[j]);
        arguments.Format(_T("?oid=%d&pid=%s"), pSet->m_nOfferID, pSet->m_strPropertyID);
        oArguments.Format(_T("&a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&g=%d&vf=%d"), m_nOptionA, m_nOptionB, m_nOptionC, m_nOptionD, m_nOptionE, m_nOptionF, m_nOptionG, m_nOptionVF);
        newurl = m_Url + arguments +oArguments;
        m_wndBrowser.Navigate(newurl, &vtEmpty, &vtEmpty, &vtEmpty, &vtEmpty);
        m_ProgressBar.StepIt();
}


Poziv za stampanje ide iz OnDocumentComplete hendlera za IExplorer kontrolu.

Code:

void CPrnmany::OnDocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT FAR* URL) 
{
    m_wndBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL);
}


Naizgled, sve bi trebalo da bude u redu. Medjutim, for petlja samo protrci kroz sve rekorde (itemse), i prikaze samo poslednju u IExplorer kontroli i onda je odstampa.

Ja bih zeleo nekako da uhvatim dogadjaj kada je stampa gotova i da cekam u for petlji (odmah posle Navigate) da se taj dogadjaj zavrsi pa da pustim dalje petlju.

Ima li neko nekakvu ideju? Ukoliko je potrebno dodatno pojasnjenje, javnite.

Poz, alex.
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Član broj: 71
Poruke: 2194
*.itn.is

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Re: Problem sa IExplorer ActiveX kontrolom19.08.2002. u 18:02 - pre 263 meseci
Zaboravih, probao sam vec sa CreateEvent() da kreiram event i da cekam na isti (WaitForSingleObject() funkcija) ali mi program hang-uje cim se otvori dialog.
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Problem sa IExplorer ActiveX kontrolom20.08.2002. u 11:15 - pre 263 meseci
Koliko se secam, metodi IE kontrole samo trigeruju odgovarajuce akcije u IE - kontrola se vraca programu odmah, a IE nastavlja da radi ono sto mu je receno (npr. Navigate).
Tebi se u stvari desava da Navigate iz druge iteracije 'prepise' onaj iz prve. Tj. na kraju petlje prikazana je samo zadnja stranica i jedino za nju IE stigne do DocumentComplete.

Probaj ovako:
U prvoj funkciji uradi Navigate samo za prvu stranicu, a u DocumentComplete Print, pa Navigate na sledecu stranicu i povecavanje brojaca.
E sad, tu postoji opasnost da Navigate za novustranicu cancel-uje print za predhodnu ali vredi probati.
Mozda pomogne i petlja izmedju Print i Navigate koja proverava IE.GetBusy().
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa IExplorer ActiveX kontrolom

[ Pregleda: 2780 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.