amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Amiga, AmigaOS 4 > DONOTWAIT und WAIT in OS3.9 falsch implementiert ? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

16.12.2011, 19:08 Uhr

Wolfen
Posts: 62
Nutzer
Hallo Zusammen,

also ich habe da jetzt mal eine ganz blöde Frage. Kann es sein das DONOTWAIT bzw. WAIT als Tooltypes in OS3.5 falsch implementiert sind ??? Ist mir bisher nie aufgefallen...

Im Workbench-Buch 3.0 werden die Tooltypes in WBStartup wie folgt beschrieben:

Orginal-Text:

DONOTWAIT
(Nicht warten)

Normalerweile wartet Workbench mit dem Starten eines Programmes, bis das zuvor ausgeführte abgeschlossen ist. Falls Sie das Merkmal DONOTWAIT angeben, startet Workbench alle Programme auf einmal. Zu DONOTWAIT muß kein Argument hinzugefügt werden.

Falls Sie das Merkmal DONOTWAIT nicht angeben, werden Sie eventuell in einem Dialogfenster darauf hingewiesen, daß das Programm noch nicht bereit ist. Das System fragt Sie daraufhin, ob es noch etwas länger warten soll. Wählen Sie das Symbol "No" (Nein" aus, um mit der Arbeit fortzufahren.

WAIT = <Sekunden>

Hiermit können Sie festlegen, wieviele Sekunden die Workbench warten soll, bis das nächste Piktogramm im WBStartup-Fenster geöffnet wird.


So weit so gut.

In OS 3.9 können wir ja nun die Icons bequem über das Icon-Programm (rechte Maustaste -> Piktogramm->Informationen anzeigen ändern. Dort sind meines erachtens DONOTWAIT mit "Auf Beendigung warten" verknüpft und WAIT mit dem Feld "Sekunden" welches nur einzugeben ist wenn Auf Beendigung warten aktiviert ist.

Was ist nun falsch ?

Wenn obige Definition richtig ist, dann kann man mit dem Tooltype DONOTWAIT ja veranlassen, daß die Workbench einfach weiterarbeitet, während ein Programm noch läuft. Ich kann also auch Programme wie Miami usw starten, die eben stetig laufen ohne das die Workbench auf deren Beendigung wartet. Mit WAIT kann ich der Workbench dann sagen, daß alle anderen Programme warten sollen, bevor sie gestartet werden. Zusammen mit dem Tooltype STARTPRI habe ich damit klare KONTROLLE über alle WBStartup-Programme. Ich kann definieren welches Programm zuerst startet, ob die Workbench warten soll oder ob andere Programme warten sollen. Das macht Sinn in dem Moment wo ich z.B. auf die Ausführung von etwas warte und danach andere Programme starten will.

In OS3.9 nun sind beide Tooltypes in angesprochenem Editor verknüpft.
Ich kann entweder DONOTWAIT eingeben ODER WAIT eingeben und damit DONOTWAIT deaktivieren. Desweiteren scheint es mir jetzt so zu sein, daß die Workbench nicht mehr die angesprochene Zeit wartet bis andere Programme gestartet werden, sondern die angegebene Zeit wartet und dann schaut ob das eigene Programm beendet ist. Der Beweis ist zu sehen in dem der angesprochene Requester der Workbench "Wollen sie auf das Programm weiter warten ? Ja / Nein" eben schneller oder langsamer erscheint je nachdem wieviele Sekunden ich eingebe (Natürlich nur wenn das eigene Programm eh noch nicht beendet ist). Natürlich wartet auch noch die restliche Workbench und somit wäre der eigentliche Sinn von WAIT auch erfüllt, aber das ist ja garnicht Sinn der Sache.

Eigentlich verliere ich so nämlich einen Teil der Kontrollmöglichkeit und Flexiblität über die Reihenfolge und Ausführung der WBStartup-Programme.

Bin ich jetzt ganz Banane und zu lange weg vom Amiga oder hab ich Recht ? Übersehe ich etwas ? Klärt mich auf.

lg Martin






[ - Antworten - Zitieren - Direktlink - ]

16.12.2011, 19:24 Uhr

Holger
Posts: 8116
Nutzer
Ich kann irgendwie nicht erkennen, wo der Widerspruch zwischen der WB3.0 Beschreibung und dem von Dir beschriebenen WB3.9 Verhalten sein soll. Entweder Du sagst „nicht warten“ oder Du sagst „warte n Sekunden“. Was wäre die Alternative? Du sagst, wie viele Sekunden er nicht warten soll?

--

[ Dieser Beitrag wurde von Holger am 16.12.2011 um 19:24 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

16.12.2011, 21:17 Uhr

Wolfen
Posts: 62
Nutzer
@Holger:


Hmm. Ich dachte ich hätte den Unterschied erklärt.

WB 3.0:

DONOTWAIT startet Programme unabhängig
WAIT verfügt das alle anderen n-Sekunden später starten

Ich kann ein Programm starten lassen, der Workbench sagen sie solle nicht auf das Ende dieses Programmes warten und trotzdem dem Programm eine gewisse Zeit geben bevor andere gestartet werden. Der Nerv-Req der WB kommt nicht.

WB 3.9:

Ich kann entweder das Programm nicht warten lassen, muß dann aber zwingend in Kauf nehmen das alle anderen Programme sofort danach gestartet werden oder ich kann warten auf dieses Programm und quasi alles anhalten. Mehr nicht.

Damit verliere ich Funktionialität. Und nur in der WB 3.0/3.1 Implementation machen die drei Tooltypes zusammen Sinn. Unter WB 3.9 habe ich keine Möglichkeit mehr die Reihenfolge zu bestimmen UND Programme in bestimmten Abstand nicht warten bzw. starten zu lassen.

lg Martin



[ - Antworten - Zitieren - Direktlink - ]

16.12.2011, 21:27 Uhr

Wolfen
Posts: 62
Nutzer
Hmm... man kann es immer noch falsch verstehen:

Aufgabe:

Versuche unter WB 3.9 fünf Programmen in WBStartup die Reihenfolge fürs starten vorzugeben, wobei das zweite Programm Vorraussetzung für das laufen des dritten Programmes ist und Du weißt, daß das zweite Programm ca. 5 Sekunden braucht bevor es richtig gestartet ist, dann aber weiter läuft. Weiterhin sollen alle Programme Dich als User nicht nerven mit dem Requester.

Heute getestet mit WB 3.1. Da geht das. Unter WB 3.9 IMHO nicht.

Aber vielleicht übersehe ich ja etwas...

lg Martin

[ Dieser Beitrag wurde von Wolfen am 16.12.2011 um 21:31 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

16.12.2011, 22:17 Uhr

thomas
Posts: 7716
Nutzer
DONOTWAIT schließt WAIT aus. Entweder DONOTWAIT oder nicht, wenn nicht dann WAIT oder 5 Sekunden.

Die Reihenfolge der WBStartup wird über STARTPRI festgelegt.

Eine Wartezeit zwischen zwei Programmen gibt es nicht. Bei DONOTWAIT wird das nächste sofort gestartet, bei nicht DONOTWAIT wird bis zum Beenden des Programms gewartet, bevor das nächst kommt. Nach Ablauf der Wartezeit (WAIT) kommt der Requester.

Das ist seit 3.0 so und bei 3.9 nicht anders.


--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

16.12.2011, 22:52 Uhr

Bluebird
Posts: 3260
Nutzer
@thomas: Ich bin mir ziemlich sicher das es schon seit mindestens 2.1 so ist , denn ich musste das auch benutzen weil ich denn Screen Promoter vor der MAS Software gebraucht habe ... :)

mfg Bluebird

--
A1200 Tower, BPPC 060/50-603e/175 256mb, BVision, Z4, ConneXion, DelfinaLite, Oktagon, VarIO, Deneb, RBMKeyInterface, AmigaIIIT, 540mbQuantumFireball, 74gbSamsungSpinPoint, 4gbQuantumFireball,
Yamaha6416S, Mitsumi2801TE, LS120, Siemens17P1, NECP2x

[ - Antworten - Zitieren - Direktlink - ]

17.12.2011, 00:01 Uhr

thomas
Posts: 7716
Nutzer
@Bluebird:

Ich hab's falsch formuliert. Wolfen hat von 3.0 gesprochen, deshalb habe ich 3.0 getestet. Ich bin auch ziemlich sicher, dass es schon seit 2.0 so ist, aber getestet habe ich das nicht.


--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

17.12.2011, 12:26 Uhr

Wolfen
Posts: 62
Nutzer
Ich darf mich dann mal bei allen entschuldigen :-)

Heute konnte ich nachvollziehen, daß es immer so war. Auch unter 3.0. Keine Ahnung was ich da gestern gesehen habe.

Allerdings muß ich klar sagen, daß die Beschreibung im Workbench 3.0 Buch mir besser gefallen hat :-)

lg Martin

[ Dieser Beitrag wurde von Wolfen am 17.12.2011 um 12:26 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

17.12.2011, 12:29 Uhr

Wolfen
Posts: 62
Nutzer
Außerdem war es das Workbench 2.0 Buch in dem zu den Tooltypes etwas steht. Nicht das 3.0 Buch.

[ - Antworten - Zitieren - Direktlink - ]

19.12.2011, 16:18 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Wolfen:
Allerdings muß ich klar sagen, daß die Beschreibung im Workbench 3.0 Buch mir besser gefallen hat :-)

Aber die Beschreibung sagt doch exakt das: „warten“ und „nicht warten“ schließen sich nunmal aus.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

19.12.2011, 18:34 Uhr

Wolfen
Posts: 62
Nutzer
@Holger:

Da liegst du leider falsch. Ich lese aus der 2.0-Beschreibung, daß alle anderen Programme bzw. die Workbench nach dem Start warten sollen. In diesem Fall schließt WAIT DONOTWAIT nicht aus. Ist halt ein Unterschied ob die Workbench wartet oder das Programm selber. Im Grunde wäre es IMHO auch die bessere Lösung. Analog zur user-startup bzw. startup-sequence z.B. die man nach dem Start eines Programmes mit WAIT ja auch mal schlafen legen kann, bevor es weitergeht.

Ganz einfach gesagt war meine Vorstellung:
- Workbench startet Programm inkl. DONOTWAIT und WAIT=x
- Programm startet und läuft
- Workbench läuft direkt weiter, wartet aber x Sekunden ohne NervReq vor weiterer Ausführung

Warscheinlich habe ich meinen Gedankenfehler auch gemacht weil ich im Hinterkopf immer noch die AmigaDOS-Funktion hatte.


[ - Antworten - Zitieren - Direktlink - ]

20.12.2011, 13:01 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Wolfen:
Da liegst du leider falsch.

Wieso liege ich falsch, wenn Du etwas falsches aus dem Handbuch herausliest? ?(
Zitat:
Ganz einfach gesagt war meine Vorstellung:

- Workbench läuft direkt weiter, wartet aber x Sekunden ohne NervReq vor weiterer Ausführung

Ja was denn nun?

„läuft direkt weiter“ oder „wartet x Sekunden“?

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

20.12.2011, 18:08 Uhr

Wolfen
Posts: 62
Nutzer
@Holger:

har har

Ok, hast Recht. Es gibt keinen Unterschied. Ich hab leider keine Zeit mehr um jetzt jedes Wort und seine Bedeutung aufzudröseln. Und erklären will ich es nicht mehr. Wünsche Dir besinnliche Tage und danke für Deine Hilfe :-)

lg Martin

[ - Antworten - Zitieren - Direktlink - ]

20.12.2011, 20:04 Uhr

Bluebird
Posts: 3260
Nutzer
Whoow hier im Forum ist echt schon alles gesagt worden , das man sich so an einem schon erledigtem Thema festhalten kann ...
Schraubt oder nutzt denn keiner seine Amigas noch und hat wirkliche Probleme ?!? :)

mfg Bluebird
--
A1200 Tower, BPPC 060/50-603e/175 256mb, BVision, Z4, ConneXion, DelfinaLite, Oktagon, VarIO, Deneb, RBMKeyInterface, AmigaIIIT, 540mbQuantumFireball, 74gbSamsungSpinPoint, 4gbQuantumFireball,
Yamaha6416S, Mitsumi2801TE, LS120, Siemens17P1, NECP2x

[ - Antworten - Zitieren - Direktlink - ]

20.12.2011, 22:55 Uhr

Maja
Posts: 15429
Nutzer
@Wolfen:

Beides unterdrückt den Requester. WAIT ist die Option der Wahl, wenn Programme involviert sind, die voneinander abhängig sind.

--
** Tippfehler sind kostenlos und dürfen unbegrenzt an Dritte weitergegeben werden. **

[ - Antworten - Zitieren - Direktlink - ]

20.12.2011, 23:25 Uhr

thomas
Posts: 7716
Nutzer
Zitat:
Original von Maja:
Beides unterdrückt den Requester. WAIT ist die Option der Wahl, wenn Programme involviert sind, die voneinander abhängig sind.


Jetzt kommst du auch noch.

NEIN! Denn das ist ja gerade das, was Wolfen gerne hätte. Aber so ist es nicht. WAIT verzögert den Requester nur (wenn ein Wert größer 5 angegeben wird), es unterdrückt ihn nicht.

Außerdem hilft es nicht die Bohne, wenn Programme voneinander abhängig sind. Entweder ein Programm läuft nur kurz und kommt dann zurück oder es bleibt aktiv. Im ersten Fall braucht man kein Wait, weil das Programm genau dann fertig ist, wenn es sich beendet. Im zweiten Fall wird der Start der Workbench angehalten, bis entweder das Programm doch zu einem Ende kommt oder bis der Benutzer den Requester mit "nicht mehr warten" beantwortet.

Ein Zeitgesteuertes Starten von Programmen, die aktiv bleiben, ist mit den gegebenen Mitteln nicht möglich.


--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

21.12.2011, 19:24 Uhr

Maja
Posts: 15429
Nutzer
Zitat:
Original von thomas:
WAIT verzögert den Requester nur (wenn ein Wert größer 5 angegeben wird), es unterdrückt ihn nicht.

Anyway. Um etwas n Sekunden zu verzögern, muss es n Sekunden verhindert, sprich, unterdrückt werden. So what?
Zitat:
Außerdem hilft es nicht die Bohne, wenn Programme voneinander abhängig sind.
Auch nicht, wenn z.B. beim Systemstart automatisch die Systemzeit online akutalisiert werden soll, nachdem ebenso automatisch ein TCP/IP gestartet und eine Verbindung zum Internet hergestellt wurde?
Zitat:
Ein Zeitgesteuertes Starten von Programmen, die aktiv bleiben, ist mit den gegebenen Mitteln nicht möglich.
Wer denn hat was von "aktiv bleiben" gesagt?

Zum Zeitgesteuerten Programmstart muss im Übrigen zusätzlich STARTPRI bemüht werden. Zusammen mit WAIT hat AmigaOS an der Stelle auch im 21. Jhd. noch die Nase vorn im Vergleich zu Windows.
--
** Tippfehler sind kostenlos und dürfen unbegrenzt an Dritte weitergegeben werden. **

[ - Antworten - Zitieren - Direktlink - ]

21.12.2011, 20:03 Uhr

thomas
Posts: 7716
Nutzer
@Maja:

Warum schreibst du über Dinge, die du selbst nicht verstanden hast?

WAIT wartet nicht grundsätzlich. WAIT wartet nur, wenn das Programm aktiv bleibt. Sobald das Programm zurückkehrt, macht WBStartup mit dem nächsten Programm weiter, unabhängig vom WAIT-Wert. WAIT macht nur Sinn, wenn ein Programm irgendwann von selbst zurückkehrt, dafür aber länger braucht als die voreingestellten 5 Sekunden.

Und wenn das Programm nach den mit WAIT angegebenen Sekunden immer noch aktiv ist, kommt der Requester. So oder so. Man kann den Requester nicht verhindern, außer mit DONOTWAIT. Das wiederum macht genau das: gar nicht warten.

STARTPRI hat mit Zeitgesteuert überhaupt nichts zu tun. Es legt nur die Reihenfolge fest.

Ein zeitgesteuertes Starten von Programmen aus der WBStartup ist mit den gegebenen Mitteln nicht möglich.


--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

21.12.2011, 21:07 Uhr

huepper
Posts: 481
Nutzer
Zeitgesteuert würde wiederum nur funktionieren, wenn man das Ganze per Script löst.
Dazu müßte man aber relativ genau wissen, wie lange jedes einzelne Programm zum Starten usw. braucht.

Das würde den Systemstart auch locker über einen Windowsstart hinaus verzögern, je nach Anzahl der Programme. :)

Außerdem kann bei so Sachen wie "Zeit über Internet aktualisieren" keiner einen genauen Wert definieren, da die Verbindung zum Netz immer unterschiedlich sein kann.

--
Amiga-fähige Computer ;)

[ - Antworten - Zitieren - Direktlink - ]

21.12.2011, 21:22 Uhr

Maja
Posts: 15429
Nutzer
@thomas

Wäre es den Workbench-Entwicklern damals nur darum gegangen, Usern lästige Requester zu ersparen, man hätte höchstwahrscheinlich nur DONOTWAIT implementiert.

Zitat:
Original von Wolfen:
Im Workbench-Buch 3.0 werden die Tooltypes in WBStartup wie folgt beschrieben:

Orginal-Text:

DONOTWAIT
(Nicht warten)

Normalerweile wartet Workbench mit dem Starten eines Programmes, bis das zuvor ausgeführte abgeschlossen ist. Falls Sie das Merkmal DONOTWAIT angeben, startet Workbench alle Programme auf einmal. Zu DONOTWAIT muß kein Argument hinzugefügt werden.

Falls Sie das Merkmal DONOTWAIT nicht angeben, werden Sie eventuell in einem Dialogfenster darauf hingewiesen, daß das Programm noch nicht bereit ist. Das System fragt Sie daraufhin, ob es noch etwas länger warten soll. Wählen Sie das Symbol "No" (Nein" aus, um mit der Arbeit fortzufahren.

WAIT = <Sekunden>

Hiermit können Sie festlegen, wieviele Sekunden die Workbench warten soll, bis das nächste Piktogramm im WBStartup-Fenster geöffnet wird.



Daraus geht hervor: WAIT dient primär nicht, den Requester zu vermeiden, sondern den folgenden Programmstart um n Sekunden, genauer gesagt - länger als die voreingestellten 5 Sekunden verzögern zu können.

I.v.M. STARTPRI ergibt sich daraus was? Ein - wenn auch ziemliche grobes, aber dennoch gezielt zeitgesteuertes Starten von Programmen aus WBStartUP.


--
** Tippfehler sind kostenlos und dürfen unbegrenzt an Dritte weitergegeben werden. **

[ Dieser Beitrag wurde von Maja am 21.12.2011 um 21:24 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

22.12.2011, 08:55 Uhr

thomas
Posts: 7716
Nutzer
Zitat:
Original von Maja:
Daraus geht hervor: WAIT dient primär nicht, den Requester zu vermeiden, sondern den folgenden Programmstart um n Sekunden, genauer gesagt - länger als die voreingestellten 5 Sekunden verzögern zu können.


Das Buch ist falsch oder bestenfalls missverständlich formuliert.

Und aus deinen Aussagen geht hervor, dass du es noch nie ausprobiert hast und deshalb gar nicht wissen kannst, wie es wirklich ist.

Die Diskussion ist brotlos wenn sich Leute auf falsche Aussagen stützen und diese weder hinterfragen noch überprüfen, obwohl in dem Thread mehrmals darauf hingewiesen wurde.



--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

22.12.2011, 14:13 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von thomas:
Außerdem hilft es nicht die Bohne, wenn Programme voneinander abhängig sind. Entweder ein Programm läuft nur kurz und kommt dann zurück oder es bleibt aktiv.

Oooder… es läuft nicht kurz, sondern länger als 5 Sekunden. Dann benutzt man vorzugsweise WAIT, wenn das nächste Programm definitiv erst nach Beendigung dieses Programms gestartet werden soll, also DONOTWAIT keine Option ist.

Somit hilft es sehr wohl, wenn Programme voneinander abhängig sind.

Natürlich könnte ich auch stattdessen auch den Requester in Kauf nehmen und mich oder denjenigen, dem ich das System eingerichtet habe, ermahnen, niemals auf „nicht warten“ zu klicken.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

24.12.2011, 01:06 Uhr

Maja
Posts: 15429
Nutzer
Zitat:
Original von huepper:
Das würde den Systemstart auch locker über einen Windowsstart hinaus verzögern, je nach Anzahl der Programme. :)

Per deault wartet WB auf jedes "Autostart"-Programm 5 Sekunden lang, dann wird das nächste gestartet; auch wenn ein Programm nur 3 oder 4 Sek. braucht. Demnach würde ein Amiga-System ab 5 Programmen in WBStartUP heute über der durschnittliche Startzeit eines vom User nicht verwurstelten und nicht über die Maßen mit ich-probier-alles-aus-was-sich-runterladen-lässt vollgestopften Win7 liegen.
Auch das lässt sich mit Hilfe von STARTPRI, WAIT und DONOTWAIT in Kombination positiv beinflussen. Dieser unscheinbaren, aber dennoch mächtigen Werkzeuge (die es bei Windows bis heute nicht gibt!!) scheinen sich viele Amiga-User nicht bewusst zu sein.
Zitat:
Außerdem kann bei so Sachen wie "Zeit über Internet aktualisieren" keiner einen genauen Wert definieren, da die Verbindung zum Netz immer unterschiedlich sein kann.
Das galt für Einwählverbindungen. Der maximale Zeitkorridor, den das Einloggen in eine DSL-Verbindung in Anspruch nimmt, ist dagegen i.d.R. eine Konstante von wenigen Sekunden.

--
** Alkohol und Nikotin rafft die halbe Menscheit hin. Ohne Schnaps und ohne Rauch stirbt die andre Hälfte auch. **

[ - Antworten - Zitieren - Direktlink - ]

24.12.2011, 11:25 Uhr

DaxB
Posts: 1421
Nutzer
I.d.R. benutzt man immer DONOTWAIT und mit STARTPRI hat man schon recht gute Kontrolle. Wenn man etwas intelligenteres benötigt, kann man das ja mittels Script lösen.

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > DONOTWAIT und WAIT in OS3.9 falsch implementiert ? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.