Nur eine Instanz zulassen

Ideen, wie TV-Browser verbessert werden kann
Gast

Nur eine Instanz zulassen

Beitrag von Gast »

Es wäre toll wenn der TVB beim starten überprüfen würde, ob schon eine Instanz (minimiert) am laufen ist. Statt eine neue Instanz zu starten sollte dann nur diese maximiert werden.
Benutzeravatar
fingerhut
Platin Member
Beiträge: 2923
Registriert: 03 Feb 2005, 10:18
Wohnort: Nürnberg

Beitrag von fingerhut »

:-) kenne das Problem nur geht so was mit java auf allen OS ?
also OS2, WIN* und Linux ect. ??? und wenn man in die Daten ein flack setzt
geht TV-Browser nach einem System abstürtz nicht mehr, ein timestamp ist auch nichts (ich möchte nicht, dass ein Progamm sinnloss auf meiner festplatte zugreift)

Ich glaube eine Hallowach für den vor dem Rechern ist einfacher ;-)


oder ich glaube mit vbs müsste sowas auch unter win gehen.

mal schauen (erst ab April )
Gast

Beitrag von Gast »

Etwas googlen ergibt: Ja es ist recht "einfach" möglich, sogar in Java. zB http://www.absolutejava.com/main-articl ... ne-please/ oder http://www.devx.com/tips/Tip/13745 beschreiben gleich mehrere Lösungen. Allerdings sind es schon eher etwas "hackige" Methoden...

Ich würds trotzdem extrem nützlich finden.* Und: Technische Schwierigkeiten sollten nicht benutzerfreundliche Lösungen verhindern (ist natürlich einfacher gesagt als getan :wink: )

*vor allem weil unter Windows das Notification-Icon oft ausgeblendet wird. Daher muss man, wenn man nicht mehr weiss ob TVB schon läuft*:
-erst die ausgeblendeten Symbole einblenden
-das TVB Symbol suchen
-wenn es nicht da ist wieder ausblenden
-und TVB normal starten
-oder wenn es da ist doppelklicken
-und wieder ausblenden
anstatt nur: TVB neu starten und selber überprüfen lassen ob es schon läuft.

(Was ist vbs?)
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Du kannst aber Windows sagen, das bestimmte Icons nicht ausgeblendet werden...

Eine Flag-Datei ist doof, das mit dem Port öffnen is auch nich sooo 'ne gute Idee. Erstens muß die Firewall das dann zulassen und zum anderen könnte es dann Probleme mit dem Admin geben, der merkt das plötzlich irgendwas einen Port aufgemacht hat ;)
Gast

Beitrag von Gast »

Na toll. Gegen das Argument "Eine Flag-Datei ist doof" komme ich natürlich nicht an :wink:

Den Vorschlag, das wenigstens in die sowieso Windows-spezifische tvbrowser.exe aufzunehmen, kann ich dann wohl auch gleich vergessen :?

(Bitte nicht persönlich nehmen. Ich bin nur ein wenig frustriert, da scheinbar alle Verbesserungsvorschläge, die TVB für mich noch etwas angenehmer machen würden, scheinbar für alle anderen absolut uninteressant sind... :cry: )
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Flag-Datei ist doof weil die Datei eventuell erhalten bleiben kann und dann der TV-Browser sich weigert zu starten (steht da auch auf der Seite die weiter oben gepostet worden ist). Das ist einfach nur ein wilder Hack...und eine Windows-Spezifische Version die das enthält könnte man nur mit einigem Aufwand machen...aber wenn jemand bock hat, einfach machen und hier Posten ;).

Nachtrag: Die Exe enthält keinen Windows-Spezifischen Code. Es ist einfach nur ein Java-Launcher
Gast

Beitrag von Gast »

Auf der anderen Seite die weiter oben gepostet worden ist steht aber auch wie man ein Flagfile implementiert welches auch funktioniert "even if the Java VM crashes or is terminated externally by the user". (Nämlich mit locks statt mit File existiert / existiert nicht checks)

Re Java-Launcher: Versteh ich jetz nicht ganz. Die exe ist nicht Windows spezifisch? Wieso gibt es dann eigentlich nur eine Windows Version? (Und welche Windows-Spezifische Version meinst du jetzt, welche du gerne gepostet sehen würdest? Flagfile oder Launcher?)
pumpkin
Gold Member
Beiträge: 236
Registriert: 29 Dez 2004, 10:52
Wohnort: Vichten/Luxemburg
Kontaktdaten:

Beitrag von pumpkin »

bodo hat geschrieben:Flag-Datei ist doof weil die Datei eventuell erhalten bleiben kann und dann der TV-Browser sich weigert zu starten
Eigentlich nicht. die Datei existiert ja immer, und wird nur per FileLock "gesperrt". Das Locking müsste selbst windows wegschmeissen wenn die JVM stirbt.

Ich seh ein anders Problem: wenn jemand tvb ein 2. mal starten will passiert gar nichts. Da müsste ein "tvb already running" kommen. Eine Kommunikation zu der laufenden Instanz ("hey du, mach dich mal sichbar") kann man ja nicht aufbauen.
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Und zum FileLock: Es gibt/gab da leider einige Bugs die verhindert haben, das die Datei sich nach beenden gelöscht hat oder den Lock losgelassen hat ... hab das mal für ein anders Projekt gebraucht :(
icewind
Platin Member
Beiträge: 821
Registriert: 17 Jan 2005, 16:34

Beitrag von icewind »

moment mal.. ne frage von einem, der sich damit eher weniger auskennt.... ist es nicht möglich, einfach im speicher zu überprfüfen, ob was bestimmtes vorhanden ist? ich mein, irgendwas muss doch im speicher sein, wenn der tv browser gestartet wird, kann man den das beim starten nich einfach überprüfen lassen?
platin(x)
Gold Member
Beiträge: 269
Registriert: 08 Jul 2004, 16:22

Beitrag von platin(x) »

Man kann die Lockfile ja auch nur als Indiz verwenden und dann fragen:
"Möglicherweise läuft bereits eine Instanz von TV-Browser. Trotzdem starten?"
pumpkin
Gold Member
Beiträge: 236
Registriert: 29 Dez 2004, 10:52
Wohnort: Vichten/Luxemburg
Kontaktdaten:

Beitrag von pumpkin »

icewind hat geschrieben:ist es nicht möglich, einfach im speicher zu überprfüfen, ob was bestimmtes vorhanden ist?
Willkommen in der schönen Welt der platformunabhängigen Programmierung: java kann nicht nachfragen "was läuft schon ?". Das ist so gewollt, weil jedes OS eine andere Art von Antwort liefern würde. Damit wär man dann sofort wieder aufgeschmissen....

(Stell dir mal vor dein Handy müsste auch aufzählen können was schon läuft. Da würd was bei rum kommen....)
bodo hat geschrieben:das die Datei sich nach beenden gelöscht hat
Wieso überhaupt löschen ? lock doch einfach eine leere Datei....
bodo hat geschrieben: oder den Lock losgelassen hat ...
War das nicht dieses lustige JSP-Problem, wo die JVMs weiterlaufen ? das wär ja hier nicht der Fall.
icewind
Platin Member
Beiträge: 821
Registriert: 17 Jan 2005, 16:34

Beitrag von icewind »

pumpkin hat geschrieben:[...] Stell dir mal vor dein Handy müsste auch aufzählen können was schon läuft. Da würd was bei rum kommen....[...]
bei nem 3330 wird das nicht all zu viel sein, denke ich :) aber ich versteh, was du meinst.
Benutzeravatar
fingerhut
Platin Member
Beiträge: 2923
Registriert: 03 Feb 2005, 10:18
Wohnort: Nürnberg

Beitrag von fingerhut »

porbierts doch mal mit einem vb skipt da kann man die namen der laufenden prozese auslesen und wenn der gleich tv-browser.exe ist einfach tv_browser nicht straten ist zwar nicht elegand aber es könnte funktionieren und wäre ne ziemlich einfache und sichere lösung. (name ist warscheinlich tv-browser 1.0.1 ) wie im Frame angegeben.

und wenn ich mich nicht teusche kann man diese fenster sogar den fokus geben
andreas

Beitrag von andreas »

fingerhut hat geschrieben:porbierts doch mal mit einem vb skipt da kann man die namen der laufenden prozese auslesen ...
dummerweise ist das dann nicht Plattformunabhängig. Dies sollte aber weiterhin gegeben sein. Evtl. Könnte man mit der Anwendung auch einen Socket öffnen und beim starten prüfen ob man ihn öffnen kann. Wenn nicht läuft schon eine Instanz und dann beendet sich die zweite wieder.

ciao
Andreas
Antworten