ich bin schon öfter mal über folgendes gestolpert...
Code: Select all
MsgBox, 8228, Datenimport, % "Wollen Sie vorher die Tabelle löschen?`n`nKicken Sie auf 'Ja', um die Tabelle zu löschen.`nKlicken Sie auf 'Nein', um den Vorgang abzubrechen.", 30
IfMsgBox, Yes
{
; Lösche die Tabelle, etc. pp.
; Das klappt immer
}
; ##### Dies hier sind die beiden entscheidenden Zeilen #####
IfMsgBox, Timeout ; Wenn 30 Sek lang nichts gemacht wird, zurück.
Return
Return ; Wenn Nein geklickt wird, auch zurück. Klappt auch immer
Macht der Benutzer aber keine Eingabe, bzw. wählt er nicht innerhalb von 30 Sek. "Ja" oder "Nein" aus, bleibt das Gui gesperrt und das Script scheint "zu stehen"?!
Erst die beiden markierten Zeilen "IfMsgBox, Timeout..." bewirken, dass alles richtig läuft und nach dem Timeout dann "Return" ausgeführt wird.
Meine Meinung war bislang immer (was ja auch falsch sein kann), dass das 2. Return ohne Bedingung vorneweg ausreichend sein sollte, um "Nein" UND den Timeout quasi gemeinsam abzufangen (spart etwas Code - grins)
Oder mache ich einen Denkfehler?
Grüße,
Gucky.