HomeProtokolleDrag&Drop-ProtokollFont-Protokoll

15.4 Document-History-Protokoll

Das Document-History-(DHST-) Protokoll dient dazu, eine globale Liste der zuletzt benutzten Dokumente zu verwalten (ähnlich dem Abruf-Menü in z.B. Texel) und an einer einheitlichen Stelle (hier: Start-Me-Up- Menü) schnell abrufbar zu machen.

Dazu ein kurzer Auszug der Struktur in C-Notation:

 #define DHST_ADD 0xdadd
 #define DHST_ACK 0xdade

typedef struct
{
   int8_t *appname,
          *apppath,
          *docname,
          *docpath;
} DHSTINFO;

Jedesmal wenn der Anwender eine Datei öffnet, sucht die Applikation nach dem Cookie 'DHST'. Ist dieser vorhanden, gibt das untere Word des Cookie-Wertes die AES-ID des DHST-Servers an, an den die Nachricht DHST_ADD geschickt wird. Die Applikation legt also im globalen Spei- cher eine DHSTINFO-Struktur an und füllt sie entsprechend auf:

 appname:     Name der Applikation
              (z.B. "Texel")

 apppath:     absoluter Pfad der Applikation
              (z.B. "c:\program\texel.app")

 docname:     Name des Dokuments
              (z.B. "balmer.txl")

 docpath:     absoluter Pfad des Dokuments
              (z.B. "d:\daten\balmer.txl")

Dann schickt sie dem DHST-Server folgende Nachricht:

 msg[0]    DHST_ADD (0xdadd)
 msg[1]    ap_id der Anwendung
 msg[2]    0
 msg[3]    und
 msg[4]    Pointer auf DHSTINFO-Struktur
 msg[5]    0
 msg[6]    0
 msg[7]    0

Als Antwort erhält die Applikation folgende Message, mit der sie den globalen Speicher wieder freigeben kann:

 msg[0]    DHST_ACK (0xdade)
 msg[1]    ap_id des DHST-Servers
 msg[2]    0
 msg[3]    and
 msg[4]    Pointer auf DHSTINFO-Struktur (wie bei DHST_ADD übergeben)
 msg[5]    0
 msg[6]    0
 msg[7]    0=Fehler, sonst: OK

In der ST-Computer 10/98 findet sich ein ausführlicher Artikel zu diesem Thema.


HomeProtokolleDrag&Drop-ProtokollFont-Protokoll