Seite 1 von 1

Fehlermeldungen ignorieren

Verfasst: 28 Feb 2008 19:24
von speedbreaker
Hallo,
Ich fahre WSWIN momentan auf einem kleinen Laptop, welcher die Wetterdaten und das aktuelle Webcam Bild automatisch mehrmals am Tag auslesen sollte (Läppi im Ruhezustand, wird per vordefiniertem Task reaktiviert, startet WSWIN + VisionGS, liest aus und schaltet nach 8 min wieder in den Ruhezustand). Nun tritt allerdings folgendes Problem auf: Wenn WSWIN eine Fehlermeldung wie "keine Daten vom Funk-Interface erhalten" kommt und der Laptop dann später per Task die Wetterdaten wieder auslesen will kommt zwangsläufig die Fehlermeldung "Com Schnittstellenfehler" da nun ja WSWIN 2 mal öffen ist. Ist es nun möglich WSWIN so einzustellen, dass die Fehlermeldungen automatisch wieder weg gehen?

Gruss, Roman

Verfasst: 28 Feb 2008 19:55
von weneu
Halo Roman,
nein, das ist nicht möglich.
Aber du könntest versuchen, ob es etwas nutzt, vor jedem planmäßigen Beenden WSWIN mit taskkill zu schließen.

Verfasst: 28 Feb 2008 20:18
von Holli
Entweder das oder mit einem kleinen AutoHotkey-Script die Fehlermeldungen automatisch wegklicken lassen.

Verfasst: 28 Feb 2008 20:47
von joergeli
Hallo zusammen,

ich lasse einige meiner Programme unter Windows als Dienst laufen.
Dazu verwende ich das Tool "RunAsSvc": http://www.pirmasoft.de/runassvc.php

In dem Tool wird die entspr. EXE-Datei (bei Bedarf auch mit Parametern) eingetragen und dann als Dienst unter Windows eingerichtet.

Mit den Befehlen "net start Dienstname" bzw. "net stop Dienstname" läßt sich der Dienst bzw. das Programm dann starten und beenden.
Vorteil: bei eventuellen Fehlermeldungen/Hängern wird der Dienst gnadenlos abgewürgt - und somit auch die Fehlermeldung.

Den entspr. Dienst findet man nach Einrichtung mit RunAsSvc bei Windows unter:
Start -> Einstellungen -> Systemsteuerung -> Verwaltung -> Dienste.

Standardmäßig wird der Dienst mit dem Autostarttyp "Automatisch" angelegt. Diese Option muss man auf "Manuell" ändern, dann kann mit
den o.a. Start- bzw. Stop-Befehlen der Dienst (bzw. das Programm) z.B. per Batch und Taskplaner gestartet bzw. gestoppt werden.

Hilfreich um Verzögerungen in eine Batch-Datei einzubauen, ist das Tool "wait.exe".
Downloadbar z.B. hier: http://www.ppedv.de/software/tool.aspx

Eine-Batch-Datei könnte dann z.B. so aussehen:
-------------------------------------------------
@Echo Start xyzdienst
@net start xyzdienst

@Echo Warte 60 Sekunden ...
@c:\Run_Service\wait.exe 60

@Echo Stop xyzdienst
@net stop xyzdienst
-------------------------------------------------

Das Programm wird also gestartet, dann 60 Sekunden gewartet und dann
wird das Programm wieder beendet.

Das Ganze funktioniert mit meinen Programmen - die ebenfalls ab und an eine Fehlermeldung bringen - einwandfrei.

Mit WsWIN habe ich es allerdings noch nicht getestet.
Eine Besonderheit muss man beim "WsWIN-Dienst" allerdings beachten:
Da die WsWIN-Grafiken per Screenshot erstellt werden, muss man bei den Eigenschaften des Dienstes
unter dem Karteireiter "Anmelden" einen Haken bei "Datenaustausch zwischen Dienst und Desktop zulassen" setzen.

Ist vielleicht einen Versuch wert, um das Problem von Roman zu lösen.
Die Verzögerungszeit (wait.exe) muss natürlich angepasst werden.
Ein Problem kann es natürlich geben, wenn WsWIN gerade am Datenauslesen ist und dann abgewürgt wird.

Wie heißt es doch gleich: Versuch macht kluch :lol:

Gruß
Jörg

Verfasst: 28 Feb 2008 20:55
von speedbreaker
N'Abend

Danke für die Fluggsen Antworten!
Hab nun noch eine einfachere Lösung gefunden (fast peinlich, dass ich da nicht schon lange draufgekommen bin): Ich definiere beim Geplanten Task einfach, dass er nach 5 min beendet werden sollte. Somit sollte isch mein Problem lösen :D

EDIT: WOW Jörg, danke für diese ausführliche Antwort! Wenn das mit den Tasks morgen nicht funktioniert werde ich deinen Vorschlag gerne mal testen :D

Gruss, Roman