Fehlerbehandlung

    • Offizieller Beitrag

    Jetzt brauch ich doch auch mal Hilfe:
    Ich will je nach Erfolg ne Meldung hinter den Befehl schreiben.
    Aber leider scheint er den Fehler zu übergehen.
    Jedenfalls sagt mit die MsgBox immer 0 (also kein Fehler).
    Im $arraycom stehen die Befehle zum verbinden die gut funtionieren.
    Ich habe folgendes gemacht:

  • Zitat


    Jetzt brauch ich doch auch mal Hilfe


    aber dafür sind wir doch da ;)

    folgendes funktioniert bei mir:


    • Offizieller Beitrag

    Danke. Hätte ich tatsächlich auch selbst rausfinden können.
    Übrigens für die Dokumentation hier die fehlende Unterscheidung ob erfolgreich oder nicht:

  • kannst es ja ganz edel mit ner progressbar machen

    Code
    for $i = 10 to 0 step 1
    guictrlsetdata ($label, $i)
    guictrlsetdata ($progress, $i*10)
    sleep (999); es dauert auch ein bisschen das obere zu verarbeiten :) - kleine spielerei
    next

    Einmal editiert, zuletzt von Nuffilein805 (28. März 2006 um 16:11)

  • Hi,

    einen Progressbar zu machen ist ja easy, aber wie stellt er es an, damit Gleichzeitig noch ein GUIFester funktionen abarbeiten kann ?

    Gruß
    Wolke

  • Was auf jeden Fall geht ist das hier, allerdings ohne Progressbar:
    Nenne dein Programm z.B. test.exe

    Code
    Run("C:\test.exe","c:"); das eigendliche Programm, z.B. GUI
    sleep(10000);solange soll es daueren
    $PID = ProcessExists("test.exe") ; Will return the PID or 0 if the process isn't found.
    If $PID Then ProcessClose($PID)

    Gruß
    Wolke

    Einmal editiert, zuletzt von wolkenloser (28. März 2006 um 18:38)

  • Ich habe noch was gefunden :)
    Achtung - verursacht hohe CPU Last

    Gruß
    Wolke

    • Offizieller Beitrag
    Zitat

    Original von wolkenloser
    Was auf jeden Fall geht ist das hier, allerdings ohne Progressbar:
    Nenne dein Programm z.B. test.exe

    Code
    Run("C:\test.exe","c:"); das eigendliche Programm, z.B. GUI
    sleep(10000);solange soll es daueren
    $PID = ProcessExists("test.exe") ; Will return the PID or 0 if the process isn't found.
    If $PID Then ProcessClose($PID)

    Hmm, das kann ich ja wieder nur lokal verwenden.
    Ich will ja unsere Loginscripte ersetzen und die liegen auf dem Server. Also geht das über den Aufruf leider nicht.
    Ich will das Script nach Abschluss noch 10 sek offen halten und dann schließen. Werde wohl ein Alt+F4 nach 10 Sekunden senden.

    • Offizieller Beitrag

    hmm, hast recht, aber der Counter gefällt mir schon recht gut.
    Die Frge ist natürlich nun, wie ich, wenn ich nicht auf den Counter warten möchte, das Fenster vorher zu kriege.
    Hier der Code vom Counter:

    Code
    for $i = 1 to 10
    	$handle = GUICtrlCreateLabel("Schließe in: "&$i&" sek", 32, 2 * $ybasis * UBound($arraycom) + $ybasis + 15, 350, 17)
    	GUICtrlSetFont($handle, 8, 800, 0, "MS Sans Serif")
    	GUICtrlSetColor($handle, 0x000000)
    	sleep(1000)
    	$handle = GUICtrlCreateLabel("Schließe in: "&$i&" sek", 32, 2 * $ybasis * UBound($arraycom) + $ybasis + 15, 350, 17)
    	GUICtrlSetFont($handle, 8, 800, 0, "MS Sans Serif")
    	GUICtrlSetColor($handle, 0xEBE9ED)
    Next


    send("{ALT}{F4}")

  • Hi,

    so auf die schnelle fällt mir da ein nen Button zu machen, der das ganze dann sofort abbricht. sollte doch möglich sein oder?!

    sorry hab grad keine zeit des zu testen.

    Gruß Markus

  • HOTKEY ?
    Abbruch mit ESC ?
    funzt bei mir zumindest....

    Gruß
    Wolke

  • Hi GUN,..da ist wohl ein Fehler in der Darstellung der Syntax in Zeile 5 (HOTKEYSET).
    Die Klammern werden nicht richtig dargestellt.

    Ich lade das Script mal hoch

    Gruß
    Wolke