Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con web browser & errore run time 91  [VB6]

mi ritrovo con un errore alquanto insolito , visto che l'ho gia
pubblicato su altri formu lo copio com'era
il secondo errore impossibile ,
questo e' uno di quelli che sui miei computer non accade mai ,
mentre su quelli dei miei clienti accade in media circa il 15% delle
volte che viene fatto eseguire. ( ho una gestione degli errori che mi
manda una segnalazione al server per ogni errore trovato con
descrizione , riga , modulo,ecc.... )
passiamo alla descrizione
l'azione che deve essere svolta e' un SUBMIT di una form ad un preciso
istante
ogni tanto si genera un errore 91 al momento del submit... come se la
form non venisse trovata o la pagina non fosse caricata
correttamente ... passiamo al codice ...
e cerchiamo di capire ... PERCHE' ....
90 secondi prima del preciso istante in cui devo inviare il submit ,
invio il comando navigate al webbrowser
per essere sicuro che la pagina sia stata caricata eseguo questo
controllo ogni 15 secondi fino alla scadenza,
se non e' stata caricata , refresha...
################################################################
codice
        On Error GoTo err91
        Dim doc As IHTMLDocument3
        Dim html As String
        Set doc = Wb1.Document
        html = doc.documentElement.outerHTML
        If InStr(1, html, "titolo della pagina", vbTextCompare) = 0
Then GoTo err91 ' controlla inizio
        If InStr(1, html, "codice html in centro pagina",
vbTextCompare) = 0 Then GoTo err91     ' centro
        If InStr(1, html, "nome della form da submittare",
vbTextCompare) = 0 Then GoTo err91                ' form
        If InStr(1, html, "</html>", vbTextCompare) = 0 Then GoTo
err91             ' fine pagina
        step91 = True
        flag91 = False 'flag usata per uscire dal ciclo
    End If
End If
exit sub
err91:
...
... gestione refresh
#####################################################################
Il webbrowser non carica immagini o altro
se arriva fino alla fine dovrebbe significare che la pagina e' stata
completata al 100%.
quindi rimane in attesa dell 'ora X. in cui deve fare la submit
che una volta arrivata esegue Questo codice:
#################################################################codice
Dim doc As IHTMLDocument3
Dim frm As IHTMLFormElement
Dim pagina As String
Dim numfile As Integer
On Error GoTo errX
Set doc = Wb1.Document
Set frm = doc.getElementsByName("nomeform").Item(0)
frm.submit
Exit Function
errX:
...
...
...gestione errori
####################################################################
a volte fa cilecca ... voi potreste conoscere una causa ???
sono ben accetti consigli di qualunque tipo !!!
spero che non sia troppo disordinato quello che ho scritto!

 ha scritto nel messaggio 
news:0fc5d1fb-dccc-4836...@q77g2000hsh.googlegroups.com...

Manca il codice che fa il Navigate e controlla se la pagina è stata caricata 
tutta (ReadyState = READYSTATE_COMPLETE); l'hai omesso o cosa?
Ciao.
-- 
Sergio MAZZA 

 - Mostra testo tra virgolette -
adesso l'ho proprio tolto perche' prima faceva un controllo del genere
con
Wb1.Busy Or Wb1.ReadyState <> READYSTATE_COMPLETE Or
Wb1.Document.ReadyState <> "complete"
che funziona meglio ,
alla scadenza dei 15 secondi se non fosse stato completato il
documento avrebbe dovuto mandare una segnalazione , invece non l'ha
mai fatto , eppure gli errori 91 continuavano ad arrivare.
mah ...
volendo usare un altro tipo di controllo browser ??
oppure ancora meglio esiste un modo per gestire i cookie e javasctipt
direttamente "a mano" ??

 ha scritto nel messaggio 
news:92ce6d97-2f1f-42e6...@i29g2000prf.googlegroups.com...
adesso l'ho proprio tolto perche' prima faceva un controllo del genere
con
Wb1.Busy Or Wb1.ReadyState <> READYSTATE_COMPLETE Or
Wb1.Document.ReadyState <> "complete"
che funziona meglio ,
alla scadenza dei 15 secondi se non fosse stato completato il
documento avrebbe dovuto mandare una segnalazione , invece non l'ha
mai fatto , eppure gli errori 91 continuavano ad arrivare.
mah ...
volendo usare un altro tipo di controllo browser ??
oppure ancora meglio esiste un modo per gestire i cookie e javasctipt
direttamente "a mano" ??
[risposta]
Ma non sarebbe più semplice se descrivi cosa vuoi fare?
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggionews:92ce6d97-2f1f-42e6...@i29g2000prf.googlegroups.com...

va bene ,
ho creato un programma che fa le offerte all'ultimo secondo su ebay
(e' gia in vendita )  ... quasi 8000 righe di codice,
per ora nessuno e' rimasto insoddisfatto ,
sono riuscito a correggere da solo tutti i bug , meno che questo...
all'inizio non volevo usare il controllo web browser , ma non sapendo
come gestire i cookie ...

 ha scritto nel messaggio 
news:039cf31e-ca47-471d...@d4g2000prg.googlegroups.com...
va bene ,
ho creato un programma che fa le offerte all'ultimo secondo su ebay
(e' gia in vendita )  ... quasi 8000 righe di codice,
per ora nessuno e' rimasto insoddisfatto ,
sono riuscito a correggere da solo tutti i bug , meno che questo...
all'inizio non volevo usare il controllo web browser , ma non sapendo
come gestire i cookie ...
[risposta]
Interessante ma non mi dice nulla.
Una gestione dei cookie posso ipotizzarla con pagine dinamiche ASP/PHP/e 
simili, ma che risiedono sul server stesso che le esegue, non su un pc 
esterno al server (ebay); con VB non ne ho idea
E' anche probabile che io non abbia (ancora) capito cosa ti serve...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggionews:039cf31e-ca47-471d...@d4g2000prg.googlegroups.com...

allora ,
in altre parole ,
devo essere in grado di fare il login sul sito 
ebay.it
  con visual
basic,
questo sito pero' utilizza molti cookie , e non saprei come gestirli
ho fatto delle ricerche su google ed ho visto che il componente INET
ha qualcosa per la gestione dei cookie ma non ho trovato
documentazione .
Percio' sono stato costretto (ahime) ad usare il componente
webbrowser.
questo pero' mi da problemi ..
quindi ora se non riesco a risolvere i problemi  vorrei trovare
un'altra soluzione diversa dal solito webbrowser

 ha scritto nel messaggio 
news:7d7ccfce-5684-4487...@v29g2000hsf.googlegroups.com...
allora ,
in altre parole ,
devo essere in grado di fare il login sul sito 
ebay.it
  con visual
basic,
questo sito pero' utilizza molti cookie , e non saprei come gestirli
ho fatto delle ricerche su google ed ho visto che il componente INET
ha qualcosa per la gestione dei cookie ma non ho trovato
documentazione .
Percio' sono stato costretto (ahime) ad usare il componente
webbrowser.
questo pero' mi da problemi ..
quindi ora se non riesco a risolvere i problemi  vorrei trovare
un'altra soluzione diversa dal solito webbrowser
[risposta]
"Pilotare" un browser (o il controllo webbroser), non è difficile; ma 
leggere i cookie che genera un sito web, da "fuori browser" (VB), non è una 
tecnica che conosco/utilizzo.
Comunque non vedo il collegamento tra i cookie e l'attività di creare 
l'offerta; ma sicuramente perché non so' come funziona...
Ciao.
-- 
Sergio MAZZA