Re: Do...Loop Until process macht nicht weiter

From: Hans Abletshauser (hansable_at_web.de)
Date: 08/10/04


Date: Tue, 10 Aug 2004 03:41:16 -0700

Hallo Christoph,

herzlichen Dank für Deine ausführliche Hilfe.
An dem "ie_" hat gelegen.

Viele Grüße
Hans
.

>-----Originalnachricht-----
>03.08.2004 14:01, Hans Abletshauser schrieb:
>
>> ' wait for user pressing ok.
>> Do
>> WScript.Sleep 300
>> Loop Until process
>
>> Sub okbutton
>> ' process inputs
>> opts = document.all.lameoptions.Value
>> oIE.Quit
>> End Sub
>>
>> Sub ie_onQuit
>> process = True
>> End Sub
>>
>> Warum macht er nach dem drücken der OK-Schaltfläche
des
>> HTML-Formulars nicht weiter? Die Sub-Routine ie_onQuit
>> wird nirgendwo angesprochen.
>
>Wie wurde 'oIE' denn erzeugt?
>Es sollte so aussehen:
>
> Set oIE = WScript.CreateObject
("InternetExplorer.Application", "ie_")
>
>Der prefix muss "ie_" lauten", wenn der
eventhandler "ie_OnQuit" heisst
>'CreateObject' sollte als Methode von 'WScript', nicht
als Fkt von
>VBScript, verwendet werden. Ansonsten können Ereignisse
des IE nicht
>erkannt/ausgewertet werden.
>
>> Wie funktioniert das
>> mit "Loop Until process"? Die Variable "process" ist
auch
>> nirgendwo definiert. Muss die vorher nicht auf "False"
>> gesetzt werden?
>> Ich habe mich damit beholfen, dass ich den Do.Loop
>> ausgeschalten habe und dafür eine MsgBox ausgebe, die
ich
>> anklicke, wenn er weiter machen soll. Aber das ist
halt
>> auch nicht so elegant.
>
>Irgendwie beantwortest Du Dir die Frage ja schon selbst.
>Wenn das OnQuit-Ereignis den Wert von 'process'
verändert und 'process'
>als globales Flag dient, das im Do-Loop geprüft wird,
sollte 'process'
>global gedimt sein. Da hast Du vollkommen recht und ihm
sollte auch
>'false' als Startwert zugewiesen werden. Also an den
Anfang des
>Scripts:
>
> Dim process
> process = false
>
>Zum Testen ob deine Ereignis-Handler funktionieren,
kannst Du einfach
>MsgBoxen verwenden:
>
> Sub okbutton
> MsgBox "Ok-Button geklickt"
> opts = document.all.lameoptions.Value
> oIE.Quit
> End Sub
>
> Sub ie_onQuit
> MsgBox "IE-Quit ausgelöst"
> process = True
> End Sub
>
>Ansonsten sollte man auch mal prüfen, ob die Namen der
angesprochenen
>DOM-Elemente 'lameoptions','lameform.okbutton', mit den
Namen/IDs im
>HTML-Code übereinstimmen.
>
>--
>Gruesse, Christoph
>.
>



Relevant Pages