Hallo Leute, neulich ist mir doch auf meinem lieben kleinen Falcon eine ganz bl”de Sache passiert: Beim beim anzeigen eines Bildes mit 1STGuide tauchte eine kleine (grože) Alertbox mit "Kein Systemspeicher mehr frei" auf, danach Programmstart wie erwartet. Was'n das ??? Und dann das Desktop wie es vor dem letzten Programmstart war ? NEWDESK.INF angekuckt - klar gr”žer als 4096 Bytes der ShellBuffer reicht nicht aus um sich das alte Desktop bei einem Programmstart zu merken !!! Zu viel Extensionen fr Viewer und so angemeldet. Also ein Programm das als einziger Viewer alle Formate kennt - gibts (noch) nicht ! Also ein Programm das die angeklickten Files auf die passenden Viewer verteilt.... L™SUNG(1): man kuckt in die PL, findet PASSTHRU, saugen, installieren, BOMBEN (2). Das Teil l„uft (zumindest) auf (meinem) Falcon nicht. L™SUNG(2): Naja, die Idee ist ja ganz OK; also SELBERSCHREIBEN. Anleitung: Das Programm wird als einzigen Viewer mit den Optionen 'Dateiname mit Pfad šbergeben' & 'Im Dateipfad bleiben' fr *.* angemeldet. (siehe GUCK als es 'erst' einen Viewer gab) Alle anderen Viewer und Applikationen fr die Dateiextender angemeldet sind _rausschmeižen_ !!! Das sollte dann in der NEWDESK.INF folgendermažen aussehen: ... #G 03 04 200 C:\APP\VIEWER.PRG@ *.*@ @ ... Dann auf Laufwerk C: die Dateien [SM]TENSION.SYS, jeweils fr Single bzw. Multitaskingenvironment erzeugen. Beispieldateien die (fast) alle Optionen ausnutzen liegen bei !!! Format: +++++++ /tos=TOS|TTP|SFX (nicht zwingen an dieser Stelle oder šberhaupt) Programmname mit Pfad, _optionen_, *.EXT1, ..., FILE1.*, ..., FILE1.EXT1, ... Programmname mit Pfad, _optionen_ *.EXT1, ... FILE1.*, ..., FILE1.EXT1, ... Programmname mit Pfad, _optionen_, *.EXT1, ..., FILE1.*, ..., FILE1.EXT1, ... ... ... ... C:\BIN\GUCK.TTP, _optionen_ ,@ ^ | +---------(einer der) Default-Viewer fr alles brige, muž nicht GUCK sein. '@' als 'Match' bedeutet "Default-Viewer", d.h. dieser Viewer wird aufgerufen wenn kein anderer Treffer erzielt werden konnte. Er muž nicht am Dateiende stehen, ist aber dort m”glichst unterzubringen um das lesen/verstehen der Infodatei (fr den Anwender) zu vereinfachen. Es k”nne beliebig viele Default-Viewer angegeben werden die dann bei unterschiedlichen Shift-Tasten-Kombinationen aufgerufen werden. Fr 'den Untimativen-Default-Viewer' (wenn keine anderen Shift-Kombinationen mehr greifen) bitte '@@' als Markierung verwenden. _OPTIONEN_: Es k”nne beliebig viele Optionen pro Zeile angegeben werden; diese mssen allerdings immer durch Kommata getrennt werden. (also z.B. C:\PROGRAMM.PRG,/cd,/va,/col=16,*.EXT) /cd Applikationsverzeichnis -> aktuelles Verzeichnis Funktioniert aber nur auf GEMDOS-Ebene. Den AES-Pfad (so es einen solchen gibt) kann man/ich nicht beeinflussen. Falls Applikationen ihre Systemdateien/ordner nicht finden bitte auf die Option /exec zurckgreifen. - /va Wenn das Programm schon l„uft (ACC, APP bei Muti- tasking) die Commandozeile via VA_START an die laufende Applikation bergeben. /xacc Siehe /va nur Xacc-Protokoll. - /col=32768 (256, 16, 4, 2) Applikation nur bei 32768 (...) Farben starten /par=x /[febpa] X Es wird die Kommandozeile gem„ž dem nach String hinter dem Gleichheitszeichen expandiert. Dabei steht /e fr die Extension [EXT] /b fr den Basename [d.h. OHNE Extension, FILE] /f fr den Dateinamen [FILE.EXT] /p fr den Pfad [X:\...\PATH\] /a fr Pfad & Dateinamen [X:\...\PATH\FILE.EXT] des bergebenen Files. D.h. aus 'x /a X' wird 'x C:\PFAD\DATEI.EXT X' !FILE.EXT Wenn FILE.EXT bergeben wurde wird diesen Viewer berspringen; Mehrfachangaben m”glich. KEINE Pfade sonder NUR Dateiname & Extension. - /key=[crlan] Es wir abgefragt ob die 'R'echte oder 'L'inke' Shift, die 'C'ontrol oder 'A'lternate -Taste beim Programmstart gedrckt sind. z.B. bei /key=ca wird das Viewprogramm nur gestartet wenn die Control- UND Alternate-Tasten beim Programm- start gedrckt sind. -> fr 'Default-Viewer' _ohne_ Shift-Tasten _sollte_ /key=n definiert werden, sonst wird der entsprechende Viewer u.U. nicht gestartet. /res=640x480 Das Viewprogramm wird nur in einer Aufl”sung von 640 mal 480 Punkten gestartet. ACHTUNG: Genau auf das Format AAAxBBB achten, aber keine fhrenden Nullen bei Aufl”sungen < 100 (aber wer hat das schon). - /wait Der Viewer wartet nach einem VA/XACC-Aufruf, wenn das Programm gemeldet hat 'Fenster ist ge”ffnet (ACC_OPEN_WIND)', auf ein 'Fenster ist wieder zu (ACC_CLOSE_WIND)' oder die mit /tim=xxx definierte Zeitspanne. /tim=[zeit] Zeit in 1000stel Sekunden die der Viewer nach einen VA/XACC-Start warten soll damit das 'gerufene' Programm Zeit hat die Parameter zu bernehmen (fr langsame Rechner beim MultiTasking u.U. angebracht). /single Unter Mag!X wirk KEIN Parallelstrart von GEM-Programmen Versucht. - /key Nach Programmende auf (Maus)-Tastedruck warten. /nokey Nach Programmende darauf warten das keine (Maus)-Taste mehr gedrckt ist. ^- Diese beiden Optionen verhindern einen Programmstart ber SHELL_WRITE da VIEWER im Speicher bleiben muž. Es wird deshalb mit EXEC gearbeitet. - /exec Programmstart ber EXEC forcieren, da einige Programme anscheinend Probleme haben ihre Info-Dateien zu finden wenn ein anderes Programm als das DESKTOP/NEWDESK sie per SHELL_WRITE startet. -> Diese Option kann bei einer besseren L”sung des Problems wieder entfallen! /magix Programm nur unter Mag!X starten. /multi Programm nur unter MultiTOS starten. - /tos=[EXT|EXT|EXT|...] Mit Hilfe diese Parameters kann eine durch Pipes (|) getrennte Liste von 'TOS'-Extendern bergeben werden, die der Viewer zur Unterscheidung 'TOS'-Programm <-> 'GEM'-Programm nutzt. Dabei gilt: alles was nicht 'TOS' ist, ist 'GEM' (logisch oder ?). Die Option /tos= kann (und sollte) auf einer einzelnen Zeile (m”glichst die erste) der [SM]TENSION.SYS stehen, da der Viewer bis zum Finden dieser Option von /tos=[TOS|TTP|SFX] ausgeht. (siehe Beispieldatei um das Ganze noch etwas, oder ein wenig, klar(er) zu machen) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Es wird bei den Optionen /va & /xacc ein Start nach dem VA/XACC_PROTOKOLL versucht, d.h. die Applikation wird zun„chst im Speicher (als ACC oder APP/PRG bei Multitasking) gesucht; wenn die Applikation gefunden wird, wird der die Commandline der Applikation nach dem VA_Protokoll oder Xacc_Protokoll bergeben; ansonsten wird ein ganz normaler Programmstart via SHELL_WRITE (oder EXEC bei optionen /exec, /key und /nokey) versucht. SHELL_WRITE hat den Vorteil das VIEWER nicht im Speicher bleibt (also Speicher spart) und der Aufruf IDENTISCH zu dem des Desktops ist. Unter Mag!X wird bei GEM-Programmen ein Parallelstart versucht. (VA getestet mit Paula, 1ST Guide & Chameleon). (Mag!X ungetestet da auf meinem Falcon (NOCH) kein Mag!X l„uft. Anhand der EXTENSION des zu startenden Programms (TOS,TTP,...) erkennt VIEWER ob es sich um ein GEM oder ein TOS-Programm handelt. Das Verhalten kann durch die Option /tos=[EXT|...] beeinflužt werden. (Grafik mird dann anders initialisiert und unter Mag!X wird ein Parallelstart versucht). Wenn es Probleme oder Verbesserungsvorschl„ge gibt: Bitte melden !!! MfG fRANKf ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Frank Frommelt Torgauerstr. 4 44263 Dortmund Tel.: 0231 / 43 68 04 fRANKf @ DBX ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ History: 1. Version xx.02.94: - Erste "Quick & Dirty" als Notbehelf; aber die Idee ist geboren. 2. Version xx.02.94: - Auswertung der Configdatei verbessert/vereinfacht. - Optionen CD & TSR eingebaut. 3. Version 22.02.94: - VA_Protokoll eingebaut. - Erkennung von Multitaskingf„higem AES eingebaut. - Optionen CD und TSR wieder entfernt (berflssig). - Jetzt 2 Configdateien C:[SM]TENSION.SYS . (evtl. C:\XTENSION.SYS) 4. Version 26.02.94 - VA_PROTOKOLL endlich KORREKT (Wasser & Gasdicht !!!) eingebaut. - CD ist wieder drin (war nie weg nur IMMER und AUTOMATISCH). - Startversuch immer mit VA_PROTOKOLL, ansonsten mit SHELL_WRITE. - Configdatei IMMER mit Pfadnamen und JETZT auch mit Wilcards (im Programmnamen) m”glich. 4.1 27.02.94 - Bl”de Sache passiert: Zwischen- und nicht Endversion in das Archiv gepackt; VA_Parameter funktionierten nur noch mit PAULA. Sorry. Danke Rolfi !!!! 4.2 14.03.94 - Das bl”de 'Next' am Zeilenende ist jetzt unn”tig, 'Default' durch das UNIX-like '*' ersetzt. Interne Umstrukturierungen. 4.3 21.03.94 - Wegen Tippfehler (sysfiel anstatt sysfile) wurde unter MultiAES (Mag!X und MultiTOS) das falsche Infofile geladen. Danke ROLFI !!!! 4.4-4.7 03.-04.'94 (Intern) 5. Version 15.04.94 - (Viewer versteht ARGV -> meines Erachtens nicht Sinnvoll; wieder rausgeschmissen) - Beliebige Argumente bergeben (/par=111 %f 222, %f ist der bergebene Dateiname). ? (Tos-Programme in Fenstern? Wenn mir einer sagt wie's geht...) - Es werden nicht nur Extensionen angegeben sondern es k”nnen 'einfache Wildcards' angegeben werden (*.EXT, FILE.*, FILE.EXT). - Programme k”nnen aus bestimmte Farbaufl”sungen beschr„nkt werden (/col=2,4,16,256,32678). Sinnvoll z.B. fr Bilderviewer die nur in einer bestimmten Farbaufl”sung benutzt werden sollen. ! Aber Vorsicht !!! Immer bedenken das die Datei von oben nach unten abgearbeitet wird. 5.1 18.04.94 - In der Option /par= den Dateinamen zur Vereinfachung von '%f' nach '~' gewandelt. - '!FILE.EXT' als Ausschlužoption eingefhrt. - /key & /nokey implementiert - Parallelstart (von GEM-Programmen!) unter Mag!X ist drin (ungetestet). - Bei Multitasking-Systemen (Mag!X & MultiTOS) wird nach VA_START nicht mehr auf eine Rckmeldung der Applikation gewartet so das nur noch der Dateiviewer aktiv bleibt (unter MultiTOS l„ufts). - Diese Dokumentation etwas erweitert/verbessert(?). 5.2 29.04.94 - Optionen /key=[carl] und /res=AAAxBBB eingebaut. - Probeleme mit Dateinamenerkennung gel”st (lag an GfA, Danke Georg). - Weitere interne Ver(schlimm?)besserungen um eventuelle Fehler anderer Programme zu umgehen. - GEM-Message-Handling ver„ndert (wer merkt den Unterschied?) ? BITTE um Kommentare ob es so besser oder schlechter ist !!! Besser geht es unter Single-TOS (soweit ich weiž) nicht !!! + Morgen wird ERGO!pro bestellt !!! + Demo-Version ist schon genial !!! 5.3 02.05.94 - Option /wait eingebaut => flexiblere GEM-Message-Behandlung. - Option /tim=[zeitspanne in 1000stel Sekunden] eingebaut. => Der Viewer wartet nur noch bei /wait und/oder /tim=x, x>1 auf eine Rckmeldung vom zu startenden Programm bei va/xacc šbergabe. ! Erste Zeile in der Infodatei mit Wartezeit entf„llt! - Es wird jetzt alternativ zur Kommandozeile auch das ARGV-Verfahren fr zu lange Pfadname (> 125 Zeichen) verwendet. - Option /single eingebaut. 5.4 --->>> Endversion (?) <<<--- 10.05.94 - Option /exec eingebaut. - In der Option /par= stehen jetzt '~e' fr die Extension [EXT], '~b' fr den Basename [d.h. OHNE Extension, FILE], '~f' fr den Dateinamen [FILE.EXT], '~p' fr Pfad & Dateinamen [X:\...\PATH\FILE.EXT] des bergebenen Files. ! '~' allein ist NICHT MEHR zul„ssig. - Optionen /magix & /multi eingebaut. ! Wegen interner Umstellung @ anstatt * als Kennung fr 'Default'. - Es k”nne bis zu _10_ 'Default-Viewer' definiert werde, die alle bei verschiedenen Shift-Tasten-Kombinationen aktivert werden. ! Bei einem Default-Viewer _ohne_ Shift-Tasten bitte /key=n (nEUTRAL) angeben. CAPS-LOCK blockiert nicht die Shift-Tasten-Auswertung. ! XTENSION.SYS wird nicht l„nger beachtet. Bitte entweder STENSION.SYS (Single-Task) und/oder MTENSION.SYS (Multi-Tasking) verwenden. - Option /tos=[EXT|EXT|...] eingebaut. - B”sen Bug im GfA-String-Handling ENDLICH ENTGšLTIG umgangen (hoffentlich George). - Optionen /va & /xacc entlich dokumentiert (sorry). Ich hoffe die Doku enth„lt jetz keine Fehler/Auslassungen mehr. 5.5, 5.6 (Intern) 5.94 5.7 03.06.94 ! Nochmal mit dem GfA Stringhandling des Compilers gek„mpft: ENDL™SUNG fr alle Abstrze bei diversen Dateien gefunden (Murphy, sei ruhig...). - Fr Kommandozeilen jetzt '/' anstelle von '~' als Metazeichen, da GEMDOS ein '~' als Dateizeichen zul„žt (z.B. bei Dateien von ERGO!pro). - Es k”nne jetzt mehrere Farbtiefen (/col=...) und Aufl”sungen (/res=XXXxYYY) fr einen Viewer angegeben werden. D.h. ein bestimmter Viewer l„uft z.B. in 16 und 256 Farben; in 2, 4, 65536 Farben aber nicht. - Die Listen der Dateinamen/Extensionen k”nne jetzt auch auf mehrere Zeilen verteilt werden. Dadurch wird das Ganze etwas šbersichtlicher. - Vorbereitung auf internen (Text)-Viewer (Murphy, ich warne Dich, misch Dich nicht ein...) - Ein Viewer der mit @@ markiert wird, wird auch bei nicht passenden Optionen (/key=, /col=, ...) geladen, wenn kein anderer Default passt. - Es sind jetzt beliebig viele Default-Viewer zul„ssig. - Es k”nne jetzt auch mehr als 10 (beliebig viele) TOS-Extensionen definiert werden. xx.xx.94 --- Weitere Vorschl„ge ? ---