Lieber Herr Flatscher,

 

Auch Ihre leicht abgeänderte Version macht Sinn, aber auch sie produziert bei mir folgenden Fehlertext:

REXXerr>org.rexxla.bsf.engines.rexx.RexxException: BSF4ooRexx850/routine/jniRexxRunProgram(), error 9:

REXXerr>       *-* Compiled method "UNKNOWN" with scope "OLEObject".

REXXerr>Error 92 running testcode.code line 9:  OLE error.

REXXerr>Error 92.901:  An unknown OLE error occurred (HRESULT=800706ba "The RPC server is unavailable.").

 

 

Aber ich kann mir gut vorstellen, dass das am Internet Explorer liegt. Aha, immer sichtbar machen, verstehe ich!

 

Viele Grüße

Johann Wolfschwenger

 

Von: Wu_bp_2022w <wu_bp_2022w-bounces@alice.wu.ac.at> Im Auftrag von Rony G. Flatscher
Gesendet: Montag, 5. Dezember 2022 17:30
An: wu_bp_2022w@alice.wu.ac.at
Betreff: Re: [Wu_bp_2022w] Frage zur HÜ

 

Lieber Herr Wolfschwenger,

On 05.12.2022 17:13, Wolfschwenger, Johann wrote:

... cut ...

Anschließend tauschen wir nur die URL aus (https://bach.wu.ac.at/z/start), wobei folgender Teil

“doc=myIE~document -- get loaded document

source=doc~body~outerhtml”

ja schon in einem Übungsbeispiel mit dieser URL funktioniert hat, bzw. haben wir nur 2 Programme vom Skript zusammenkopiert:

 

myIE = .OLEObject~New("InternetExplorer.Application")

 

myIE~Navigate("https://bach.wu.ac.at/z/start")

/* wait for 2 seconds */

Call SysSleep 2

 

doc=myIE~document -- get loaded document

source=doc~body~outerhtml

 

myIE~quit

 

say source

 

Hier bekommen wir einen Error und wir verstehen nicht warum.

Welchen Error denn? Immer so genau wie möglich, am besten die Fehlerausgabe mit der Maus in die Zwischenablage kopieren und von dort in die e-Mail.

Noch etwas: *unbedingt* immer sichtbar machen! Wenn Sie das nicht tun und wiederholt Fehlerabbrüche haben, kann es sein, dass der IE auf einmal nicht mehr korrekt funktioniert.

Jedenfalls ist das Programm bei mir ohne Probleme gelaufen, habe es dann ein wenig abgeändert:

myIE = .OLEObject~New("InternetExplorer.Application")
myIE~visible=.true      -- immer sichtbar machen!
 
myIE~Navigate("https://bach.wu.ac.at/z/start")
 
/* wait for 2 seconds */
Call SysSleep 2
 
say "myIe~busy:" myIe~busy
 
doc=myIE~document -- get loaded document
say "doc:" doc
 
source=doc~body~outerhtml
say "source:" source
 
myIE~quit

Wenn "myIE~busy" .true wäre, dann ist die Seite noch nicht zur Gänze heruntergeladen worden, dann gibt es mit der Verbindung etc. vorher schon ein Problem.

Mit "myIE~visible=.true" machen Sie den IE sichtbar und können ihn im Fehlerfall händisch schließen.

Mit freundlichem Gruß

Rony G. Flatscher

-- 
--
__________________________________________________________________________________
 
Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe
 
http://www.wu.ac.at
__________________________________________________________________________________