NextPrevUpTopContentsIndex The system topic

The system topic is implemented as a predefined dispatching topic called :system . It is automatically available to all defined DDE servers. Its class is dde-system-topic , which is a subclass of dde-dispatching-topic .

The following items are implemented by the system topic:



The constant SZDDESYS_ITEM_TOPICS has the value " Topics" . Referring to this item in the system topic calls dde-server-topics to obtain a list of topics implemented by the server. The server should define a method on this generic function to return a list of strings naming the topics supported by the server. If this item is not to be implemented, do not define a method on the function, or define a method that returns :unknown .



The constant SZDDESYS_ITEM_SYSITEMS has the value " SysItems ". Referring to this item in the system topic calls dde-topic-items to obtain a list of items implemented by the system topic. If a server implements additional system topic items it should define a method on the generic function specialized on its server class and dde-system-topic returning the complete list of supported topics. The server can return :unknown if this item is not to be implemented.



The constant SZDDESYS_ITEM_FORMATS has the value " Formats ", and returns unicodetext and text . Currently only text formats are supported.

The system topic is a single object which is used by all DDE servers running in the Lisp image. You should therefore not under normal circumstances modify it with define-dde-server-function by specifying a value of :system for the topic argument, as this would make the changes to the system topic visible to all users of DDE within the Lisp image.

Instead, specify :server my-server :topic :system , where my-server is the name of your DDE server. This makes the additional items available only on the system topic of the specified server.


LispWorks User Guide - 7 Jul 2004