Die Kommunikation erfolgt (wer OLGA oder BubbleGEM kennt, hat es wohl schon vermutet) über GEM Nachrichten:

#define DHST_ADD 0xdadd
#define DHST_ACK 0xdade

Jedesmal wenn der Anwender eine Datei öffnet, sucht die Anwendung nach dem Cookie 'DHST'. Ist dieser vorhanden, gibt das untere Word des Cookie-Wertes die AES-ID des sogenannten DHST-Servers (also zB. Start Me Up! oder MultiStrip) an, an den die Nachricht DHST_ADD geschickt wird. Die Applikation legt in globalen Speicher (sehr wichtig!) eine DHSTINFO-Struktur an und füllt sie folgendermaßen auf:

 

appname:

Name der Applikation
(zB. "STELLA" oder "Texel")

apppath:

absoluter Pfad der Applikation
(zB. "c:\program\stella.app")

docname:

Name des Dokuments
(zB. "dhst.img")

docpath:

absoluter Pfad des Dokuments
(zB. "d:\bilder\dhst.img")

Anmerkung: die Anführungszeichen sind natürlich nicht zu übernehmen

Die Anwendung schickt dem DHST-Server folgende Nachricht:

msg[0]............ DHST_ADD
msg[1]............ aes_id der Anwendung
msg[2]............ 0
msg[3]/[4] ...... Pointer auf DHSTINFO-Struktu
msg[5] ........... 0
msg[6] ........... 0
msg[7] ........... 0

Hilfreiche Geister - 3 / 4

47