Page 1 of 1

Eseguire uno script su internet

PostPosted: Fri Nov 23, 2007 5:38 pm
by Marco Turco
Salve,
dovrei eseguire uno script php (tipo "http://www.test.it/script.php") da un programma fivewin.

Vorrei evitare di usare però shellexecute (perché rimarrebbe traccia dello script chiamato); esiste una funzione specifica per fare questo ?

Grazie

Saluti

Marco Turco

Re: Eseguire uno script su internet

PostPosted: Fri Nov 23, 2007 6:09 pm
by Enrico Maria Giordano
Io di solito uso questo:

Code: Select all  Expand view
oIe = CREATEOBJECT( "InternetExplorer.Application" )

oIe:Navigate( "http://www.test.it/script.php" )

WHILE oIe:Busy
    SYSREFRESH()
ENDDO

oIe:Quit()


EMG

PostPosted: Fri Nov 23, 2007 6:48 pm
by Marco Turco
Grazie,
l'unica cosa è che ho diversi clienti con Firefox, devo verificare se installando Firefox come browser di default la tua routine funziona ugualmente.

Ciao

Marco

PostPosted: Fri Nov 23, 2007 6:59 pm
by Enrico Maria Giordano
Penso di sì, dato che l'ActiveX di IE dovrebbe essere comunque installato nel sistema.

EMG

PostPosted: Mon Jan 21, 2008 5:24 pm
by Marco Turco
A proposito di questa funzione,
su Windows Vista mi genera il seguente errore:

Application
===========
Path and name: K:\ACTIVEXP\ACTIVEXP.Exe (32 bits)
Size: 3,115,008 bytes
Time from start: 0 hours 0 mins 5 secs
Error occurred at: 21/01/2008, 18:22:00
Error description: Error InternetExplorer.Application/0 S_OK: BUSY
Args:

Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:BUSY(0)
Called from: MODD2.PRG => MAKEXML(784)
Called from: ACTIVE.PRG => (b)BUILDMENU(425)
Called from: MENU.PRG => TMENU:COMMAND(0)
Called from: WINDOW.PRG => TWINDOW:COMMAND(0)
Called from: MDIFRAME.PRG => TMDIFRAME:COMMAND(0)
Called from: => TMDIFRAME:HANDLEEVENT(0)
Called from: WINDOW.PRG => _FWH(0)
Called from: => WINRUN(0)
Called from: WINDOW.PRG => TMDIFRAME:ACTIVATE(0)
Called from: ACTIVE.PRG => MAIN(367)

nessun problema su XP invece.

Qualche idea ? Forse è cambiato qualcosa su Vista ?

Marco

PostPosted: Mon Jan 21, 2008 6:43 pm
by Enrico Maria Giordano
Marco Turco wrote:A proposito di questa funzione,
su Windows Vista mi genera il seguente errore:


Sì, lo so. Sembra un bug di Vista.

EMG

PostPosted: Mon Jan 28, 2008 12:26 pm
by Silvio
HO visto su un sito che VIsta usa un altro Activex per IE

DEVO ritrovare quel sito e te lo scrivo

io l'ho usato per bloccare definitvamente i computer della scuola


cmq io sconsiglio VISTA.....

PostPosted: Mon Jan 28, 2008 8:39 pm
by Marco Turco
Non sapete se è possibile utilizzare in alternativa la classe twebclient (mai usata) ?

PostPosted: Mon Jan 28, 2008 8:42 pm
by Enrico Maria Giordano
In realtà sembra che l'unica differenza sia nella proprietà Busy. Io purtroppo non ho Vista e non posso fare esperimenti ma qualcuno che ce l'ha potrebbe cercare un sostituto della proprietà Busy e provare se funziona.

EMG

PostPosted: Mon Jan 28, 2008 9:38 pm
by Enrico Maria Giordano
Prova a sostituire

Code: Select all  Expand view
WHILE oIe:Busy
    SYSREFRESH()
ENDDO


con

Code: Select all  Expand view
WHILE oIe:ReadyState <> 4
    SYSREFRESH()
ENDDO


e fammi sapere.

EMG

PostPosted: Tue Jan 29, 2008 10:36 am
by Marco Turco
Niente da fare purtroppo.

Application
===========
Path and name: K:\pigc\PIGC.Exe (32 bits)
Size: 7,570,944 bytes
Time from start: 0 hours 0 mins 34 secs
Error occurred at: 29/01/08, 11:34:26
Error description: Error InternetExplorer.Application/1726 Unknown error: READYSTATE
Args:

Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:READYSTATE(0)

PostPosted: Tue Jan 29, 2008 10:41 am
by Enrico Maria Giordano
Allora non c'è altro da fare che trovare la documentazione con le variazioni, se esiste. Io non sono riuscito a trovarla. Comunque penso proprio che alla fine queste proprietà ce le rimetteranno. Non è pensabile che tutto il codice preesistente cessi di funzionare solo perché si sono dimenticati di mettere una proprietà oppure perché hanno cambiato un nome, giusto?

EMG

PostPosted: Wed Jan 30, 2008 12:02 pm
by Marco Turco
Ci mancava solo Vista,
inoltre - grrrr - per chi utilizza firefox al posto di explorer ci sono problemi.

Faccio qualche prova con twebclient.

PostPosted: Wed Jan 30, 2008 12:18 pm
by Marco Turco
Forse ho risolto.

Utilizzando shellexecute sembra che funzioni.

Esiste però un sistema per sapere quando si è conclusa l'operazione shellexecute (waitrun non funziona su Vista) ?

PostPosted: Wed Jan 30, 2008 1:19 pm
by Enrico Maria Giordano
Marco Turco wrote:Forse ho risolto.

Utilizzando shellexecute sembra che funzioni.

Esiste però un sistema per sapere quando si è conclusa l'operazione shellexecute


Quelle due proprietà servivano proprio a quello... :-(

Marco Turco wrote:(waitrun non funziona su Vista) ?


E perché non dovrebbe? Un altro bug di Vista?

EMG