semko Posted October 2, 2006 Posted October 2, 2006 Ich habe ein kleines Problem mit der GE 2.0.1.0 und hoffe, ihr könnt mir helfen. Folgende Situation: GE wurde manuell gestartet und läuft. Einige Zeit später wird GE über den Windows Scheduler mit Kommandozeilen-Parametern zum Kanalwechsel und Aufnahmestart aufgerufen. Anstatt jetzt im laufenden GE die angegebenen Funktionen auszuführen, wird eine neue Instanz von GE gestartet und es erscheint die Meldung, dass kein Gerät verfügbar ist. Wie kommt das und wie kann ich dieses Problem vermeiden? Sem Quote
Hartwig Posted October 2, 2006 Posted October 2, 2006 Es werden weitere Informationen benötigt: http://www.DVBViewer.com/forum/index.php?showtopic=13160&hl= Quote
Griga Posted October 2, 2006 Posted October 2, 2006 Liegt die vom Taskplaner aufgerufene EXE in einem anderen Verzeichnis, d.h. gibt es zwei GE-Installationen? Ist die Task einem anderen Benutzerkonto zugeordnet? Ist dabei der DVB Task Scheduler im Spiel, oder hast du die Task direkt im Windows Taskplaner eingerichtet? Quote
semko Posted October 2, 2006 Author Posted October 2, 2006 Liegt die vom Taskplaner aufgerufene EXE in einem anderen Verzeichnis, d.h. gibt es zwei GE-Installationen? Ist die Task einem anderen Benutzerkonto zugeordnet? Die Exe liegt im selben Verzeichnis, es gibt nur eine GE-Installation. Task läuft unter dem gleichen Benutzer, der gerade angemeldet ist. Ist dabei der DVB Task Scheduler im Spiel, oder hast du die Task direkt im Windows Taskplaner eingerichtet? Ist direkt im Windows Taskplaner eingerichtet, der DVB Scheduler ist nicht im Spiel. Sem Quote
Griga Posted October 2, 2006 Posted October 2, 2006 (edited) Windows Vista oder 2003? Was passiert, wenn du versuchst, die GE ein zweites Mal über eine Verknüpfung manuell zu starten? Setze in die Eigenschaften der Verknüpfung, Zeile "Ziel", den gleichen Aufruf mit den gleichen Parametern wie im Taskplaner. Ich habe es hier gerade probiert (WinXP), der Einfachheit halber mit dem Parameter -f (auf Vollbild schalten). Funktionierte einwandfrei, es wurde die laufende Instanz angesprochen. Warum verwendest du nicht den DVB Task Scheduler? Mit dem lässt sich sowas einfacher handhaben. P.S. Als Ursache ist eventuell denkbar, dass sich der tatsächliche und der im Taskplaner verwendete Pfad bzw. Name der EXE hinsichtlich Groß/Kleinschreibung unterscheiden. Allerdings ist es mir nicht gelungen, dies hier zu provozieren. Der Taskplaner hat die Schreibweise immer selbsttätig korrigiert. Edited October 2, 2006 by Griga Quote
semko Posted October 2, 2006 Author Posted October 2, 2006 Windows Vista oder 2003? XP Pro SP2 Was passiert, wenn du versuchst, die GE ein zweites Mal über eine Verknüpfung manuell zu starten? Das klappt einwandfrei. Die Kommandos werden dann in der laufenden Instanz ausgeführt und es erfolgt kein weiterer Start von GE. Warum verwendest du nicht den DVB Task Scheduler? Mit dem lässt sich sowas einfacher handhaben. Der Task wird aus dem TV-Movie Clickfinder automatisch erzeugt. P.S. Als Ursache ist eventuell denkbar, dass sich der tatsächliche und der im Taskplaner verwendete Pfad bzw. Name der EXE hinsichtlich Groß/Kleinschreibung unterscheiden. Allerdings ist es mir nicht gelungen, dies hier zu provozieren. Der Taskplaner hat die Schreibweise immer selbsttätig korrigiert. Nein, daran kann es auch nicht liegen. Die Schreibweise ist absolut gleich. Auch sonst ist der erzeugte Task 100% in Ordnung. Verzeichnis für die Ausführung, Account und Passwort stimmen auch. Sem Quote
Griga Posted October 2, 2006 Posted October 2, 2006 Tja, dann weiß ich auch nicht... Es gibt einen gemeinsamen Speicherbereich (Shared Memory), auf den alle Instanzen (Pro und GE) zugreifen. Jede trägt sich dort u.a. ihren Konfigurationspfad ein, d.h. das Verzeichnis, wo sich die Dateien befinden, die im laufenden Betrieb verändert werden können (z.B. Kanalliste). Beim Start überprüft jede Instanz als erstes, ob bereits eine weitere mit dem gleichen Konfigurationspfad läuft. Falls ja, beendet sie sich sofort wieder, damit es nicht zu Konflikten kommt. Falls auch der Pfad der EXE-Datei und das Benutzerkonto übereinstimmen, werden vor dem Abschied noch eventuelle Kommandoparameter an die bereits laufende Instanz weitergereicht. Der Konfigurationspfad ist bei dir (wg. UserMode=0) das DVBViewer GE-Verzeichnis selbst. Wenn eine zweite Instanz startet, bedeutet dies, dass sie keine mit dem gleichen Konfigurationspfad gefunden hat. D.h es muss Abweichungen beim Pfad geben (was du ausschließt), oder der Zugriff auf den gemeinsamen Speicherbereich liefert nicht die Daten, die dort vorhanden sein müssten - für letzteres wüsste ich jedoch keinen Grund, denn der Mechanismus funktioniert ja, wie du mit der Verknüpfung bewiesen hast. Um das Problem einzukreisen, würde ich eine solche Task mal manuell (also direkt über Systemsteuerung -> Geplante Tasks) anlegen, und schauen, ob das auch eine zweite Instanz startet. Hier ist es wie gesagt nicht der Fall. Quote
semko Posted October 3, 2006 Author Posted October 3, 2006 Um das Problem einzukreisen, würde ich eine solche Task mal manuell (also direkt über Systemsteuerung -> Geplante Tasks) anlegen, und schauen, ob das auch eine zweite Instanz startet. Hier ist es wie gesagt nicht der Fall. Habe ich versucht. GE manuell über ein Icon in der Taskleiste gestartet, dann manuell einen Task zum Beenden angelegt und ausgeführt. Neue Instanz wurde geöffnet. Dann: Task zum Starten von GE angelegt und ausgeführt. Weiteren Task zum Beenden angelegt und ausgeführt. Diesmal wird die erste Instanz richtig beendet. Dann: GE manuell wie oben gestartet. DOS-Box geöffnet, aktives Verzeichnis war C:\. Befehl zum Beenden komplett mit Pfad eingegeben. Neue Instanz wird geöffnet. Dann: In der DOS-Box in das GE-Verzeichnis gewechselt und gleichen Befehl (also komplett mit Pfad) eingegeben. Neue Instanz wird geöffnet. Dann: Befehl nur mit Programmname und Parameter (also ohne Pfad) eingeben. Laufende Instanz wird richtig beendet. So, nun habe ich zwar etwas gefunden aber so recht viel weiter bringt mich das leider noch nicht. Mein nächster Versuch wird wohl sein, die vom Clickfinder erzeugten Tasks so umzubiegen, dass sie Batches starten, die zuerst ins GE Verzeichnis wechseln und dann das Programm mit den Parametern ausführen. Hoffentlich bringt's was. Sem Quote
semko Posted October 3, 2006 Author Posted October 3, 2006 Beim Start überprüft jede Instanz als erstes, ob bereits eine weitere mit dem gleichen Konfigurationspfad läuft. Falls ja, beendet sie sich sofort wieder, damit es nicht zu Konflikten kommt. Falls auch der Pfad der EXE-Datei und das Benutzerkonto übereinstimmen, werden vor dem Abschied noch eventuelle Kommandoparameter an die bereits laufende Instanz weitergereicht. Nach einigen weiteren Tests, deren Einzelheiten ich dir jetzt ersparen will, kann ich mit einiger Sicherheit sagen, dass das Problem tatsächlich beim Vergleich der Pfade liegt. Man könnte die Sache bestimmt sicherer machen, wenn ihr den Pfad-Vergleich case-insensitive machen würdet. Siehst du dafür eine Chance? Sem Quote
gwr Posted October 3, 2006 Posted October 3, 2006 Hi, Hast Du es schon mal mit "usermode=2" probiert? mfG Gerd Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.