Programm trotz Error weiterlaufen lassen?

  • Hallo zusammen,

    mich würd mal interessieren, ob man ein Programm trotz Error weiterlaufen lassen kann. Mein Programm stürzt nämlich andauernd ab, weil Fehler in der IE.au3 entstehen, da sich eine Homepage z.B. verändert hat und so ein gewisses Bild nicht mehr verfügbar ist. Hier wäre es mir lieber, dass AutoIt das Problem einfach überspringt und beim nächsten Befehl weitermacht.

    Weiter würde mich interessieren, wie ich einen Button, der in meinem Script auf auf einem anderen Tab liegt, klicken kann.
    Ich habe quasi auf dem 1. Tab einen Button. Wird dieser geklickt, so wird Tab 2 angezeigt. Nun soll aber noch auf diesen gewissen anderen Button geklickt werden. Jemand ne Idee?

    MFG

  • Wie meinst du das mit abfragen? Steh grad irgendwie aufem Schlauch :D

    Eig. reicht mir der Befehl, um mit einem Button einen anderen Button zu betätigen.

    gruß

    Einmal editiert, zuletzt von Steve1405 (26. August 2007 um 15:48)

    • Offizieller Beitrag

    Mal ein grober Entwurf:

    [autoit]

    While 1
    $msg = GUIGetMsg()
    $statusTab = _GUICtrlTabGetCurSel($Tab)
    Select
    Case $statusTab = 0
    ; Tab 0 aktiv
    Select
    Case $msg = $button
    ; Code Button
    ;
    ;
    EndSelect
    Case $statusTab = 1
    ; Tab 1 aktiv
    ;
    ;
    EndSelect
    WEnd

    [/autoit]

    Willst du, dass mit Betätigung von Button1 auch der Code von Button2 ausgeführt wird, leg den entsprechenden Code in eine Funktion und ruf diese auf:

    [autoit]

    Case $msg = $button1
    _button1() ; code Button1
    _button2() ; code Button2
    ;
    ;
    Func _button1()
    ; code
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _button2()
    ; code
    EndFunc

    [/autoit]
  • Also das von Bugfix klappt alles... Danke dafür ;)
    Nur mit dem Error habe ich noch Probleme bzw. stürzt das Programm trotzdem ab, obwohl die Option "Opt("RunErrorsFatal", 0)" angegeben ist.

    Folgende Fehlermeldung steht in der Konsole:

    Code
    C:\Programme\AutoIt3\Include\IE.au3 (189) : ==> The requested action with this object has failed.: 
    $o_object.visible = $f_visible 
    $o_object.visible = $f_visible^ ERROR
    ->13:35:22 AutoIT3.exe ended.rc:1
    +>13:35:24 AutoIt3Wrapper Finished

    Jemand ne Idee?
    gruß

    • Offizieller Beitrag

    Um mehr zu sagen, ist etwas Code notwendig ;)

    Die Fehlermeldung besagt, dass die Aktion (.visible) mit diesem Objekt fehlgeschlagen ist.
    Kann als Ursache haben, dass das Objekt nicht existiert (abfangen mit IsObj() ) oder dass die Methode nicht auf dieses Objekt angewendet werden kann (mal bei MSDN nachschauen).