home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ST-Computer Leser-CD 2000 January
/
LCD_01_2000.iso
/
pd
/
315
/
auto
/
xssinst.txt
< prev
Wrap
Text File
|
1999-10-06
|
6KB
|
130 lines
XSSINST.PRG V1.4
Copyright (c) 1997-99
by
RUN! Software
friendly applications
Ulli Gruszka & Holger Herzog
Vorgartenstr. 9
D-66424 Homburg
www.run-software.de
===========================================================================
Dieses Programm war ursprünglich ein Bestandteil des Software-Archives des
Bildschirmschoners BUBBLES. Sofern RUN! Software formlos darüber informiert
wird, ist seit der Version 1.4 nun auch die gesonderte Verwendung im Rahmen
anderer Produkte gestattet. Zu diesem Zweck können die Programmdatei
XSSINST.PRG und der Text XSSINST.TXT dem BUBBLES-Archiv entnommen und dem
Produkt beigefügt werden. Sofern dieser Text nicht beigefügt wird, ist an
anderer, geeigneter Stelle ein Hinweis auf RUN! Software anzubringen.
===========================================================================
XSSINST.PRG installiert eine Software-Schnittstelle zur Kommunikation
zwischen Programmen, die unter Nichtbeachtung der Fenster-Rechtecklisten auf
den Bildschirm ausgeben. Hierbei kann es sich z. B. um Bildschirmschoner
handeln, um Tools für Zeit/Datums-Anzeigen, für Speicher- oder diverse
Objekt-Informationen, und natürlich auch um Applikationen, die Hilfe-Texte
zu ihren Funktionen beispielsweise in der Menüzeile anbieten.
Sofern die genannten Programme interessiert sind, bietet ihnen die
Schnittstelle eine einfache Möglichkeit, ihre Ausgaben mit denen anderer
Tools zu koordinieren.
Der Bildschirmschoner BUBBLES benutzt die Schnittstelle zusätzlich zur
Kommunikation mit seinen Modulen. Ohne diese Schnittstelle ist das Modul-
Schonen nicht möglich.
Zur Installation der Schnittstelle mu₧ XSSINST.PRG im AUTO-Ordner gestartet
werden. Bitte stellen Sie zunächst sicher, da₧ die Schnittstelle nicht
bereits von einem anderen Tool in einer Version kleiner als 1.01 installiert
wurde.
Wird XSSINST.PRG manuell erneut gestartet, so führt es einen Schnittstellen-
Reset durch, bei dem alle Vektoren initialisiert werden.
===========================================================================
Hinweise für Programmierer:
===========================
XSSINST installiert die XSSI-Schnittstelle in der Version 0x101. Zunächst
wird geprüft, ob die Schnittstelle bereits vorhanden ist. Ist dies der Fall
und liegt die Schnittstelle in einer Version >= 1.01 vor, so terminiert
XSSINST.PRG mit einem entsprechenden Hinweis.
Ist die Schnittstelle in einer Version < 1.01 vorhanden, so wird die
Installation mit einer Fehlermeldung abgebrochen.
Existiert noch kein Cookie-Jar, so wird dieser erstmals mit Platz für
insgesamt 16 Cookies angelegt.
Ist im Cookie-Jar kein Platz mehr für einen weiteren Cookie, so wird
globaler Speicher für den bestehenden Jar und 16 weitere Cookies reserviert,
der Jar dorthin kopiert und _p_cookies umgesetzt.
Nun wird der XSSI-Cookie angelegt, dessen Wert ein Zeiger auf die folgende
Struktur ist:
typedef struct {
LONG id; /* Analog zum Vorgehen beim XBRA-Verfahren
die ID des Bildschirmschoners -> BBLS */
WORD version; /* Version des XSSI-Protokolls -> 0x101 */
WORD save_stat; /* Mitteilung, ob gerade geschont wird. 0=nein */
WORD prg_stat; /* Status des Programms:
0= normal schonen, 1= niemals schonen,
-1= sofort schonen. */
LONG vec_stat; /* Bitfeld, in dem der Status der einzelnen
überwachten Vektoren eingetragen ist.
Ein gesetztes Bit bedeutet, Vektor aktiv,
ein nicht gesetztes Bit, Vektor inaktiv. */
} INFOXSSI;
Die Belegung von vec_stat:
Bit-Nr. Vektor
======= ======
0 Tastatur
1 Maus
2 Joystick (*)
3 Midi (*)
4 Modem-1 (*)
5 Modem-2 (SCC B) (*)
6 Serial-1 (*)
7 Serial-2 <-> LAN-Port (SCC A) (*)
8-14 sonstige Vektoren (*)
15 Fensterstapel
(*) Bits werden von BUBBLES ignoriert
Die Bits 0, 1 und 15 werden von BUBBLES nur während des Schonens
ausgewertet. Module haben also die Möglichkeit, die ansonsten nicht
konfigurierbaren Weck-Ereignisse (Tastatur, Maus und Änderungen am
Fenster-Stapel) temporär zu unterdrücken. Somit sind auch interaktive
Module denkbar, die Benutzereingaben erwarten und auswerten.
Unterstützung der Schnittstelle:
================================
Jedes Programm, das nicht über die Fenster-Rechtecklisten auf den
Bildschirm ausgibt, sollte nach dem Cookie suchen. Ist der Cookie
vorhanden, so mu₧ vor der Ausgabe in save_stat nachsehen werden, ob der
Bildschirm gerade geschont beziehungsweise anderweitig beschrieben wird
(<>0). Ist dies der Fall, darf solange keine Ausgabe stattfinden, bis
save_stat wieder den Wert 0 enthält.
Applikationen können Bildschirmschoner, die das Protokoll kennen, zum
sofortigen Schonen auffordern, indem sie prg_stat den Wert -1 zuweisen.
Ein denkbarer Anwendungsfall sind Druckausgaben und längere Such- oder
Sortieroperationen, deren Ablauf nicht am Bildschirm verfolgt werden
mu₧. Setzt die Applikation prg_stat wieder auf 0 (darf auf keinen Fall
vergessen werden!), so beendet der Schoner seine Aktivität.
Im Zweifelsfall kann ein Schnittstellen-Reset durchgeführt werden. Dazu
ist XSSINST.PRG einfach erneut, diesmal jedoch manuell zu starten.