The situation is different with an online document (as in, filetype INF). To display DDF data in an online document, the :ddf. tag must be specified within an application-controlled window. The window that actually specifies the :ddf. tag must be defined as a LINK AUTO SPLIT of the application-controlled window's parent window that is specified with a heading tag. The reason is based on the serialization sequence when IPF reads an .INF source file. For example, suppose the file is tagged as follows:

:h1 res=100 x=0 y=0 width=50% height=50%.DDF Parent
:acviewport dll='test.dll' objectname='someobject' objectid='1'.
:ddf res=100.

The HM_QUERY_DDF_DATA message will be sent to the window procedure of VIEW, which does not process it, and it will be lost. However, suppose the tagging sequence is as follows:

:h1 res=100 x=left y=top width=100% height=100% titlebar=both clear.Look here first
:acviewport dll='flight' objectname='GetName' objectid='2'.
:link reftype=hd refid=ddf1 auto split.
:h1 id=ddf1 x=50% y=top width=50% height=100% hide.ddf1
:ddf res=100.

The HM_QUERY_DDF_DATA message will be sent to the "GetName" window procedure, which can initialize and process the DDF data. Therefore, to incorporate DDF data in an online document, you must write a DLL to handle the processing. This DLL must be a global communication object. (That is, docproof-loaded)

The other DDF message is the HM_INVALIDATE_DDF_DATA. This message is sent by the application and informs IPF that previous dynamic data formatting (DDF) information is no longer valid.

For information about the DDF calls, see Dynamic Data Formatting Functions.


[Back] [Next]