Browse Source

+ Many updates and missing identifiers

michael 20 years ago
parent
commit
baa3e86332
7 changed files with 1868 additions and 27 deletions
  1. 175 0
      docs/baseunix.xml
  2. 1526 0
      docs/classes.xml
  3. 17 0
      docs/objects.xml
  4. 2 2
      docs/prog.tex
  5. 5 0
      docs/ref.tex
  6. 101 25
      docs/unix.xml
  7. 42 0
      docs/unixtype.xml

+ 175 - 0
docs/baseunix.xml

@@ -139,6 +139,30 @@ implement the functionality in this unit for the new platform.
 <short>Pointer to <link id="cuShort"/> type.</short>
 </element>
 
+<element name="cchar">
+<short>Alias for <link id="#rtl.UnixType.cchar"/></short>
+</element>
+
+<element name="cuchar">
+<short>Alias for <link id="#rtl.UnixType.cuchar"/></short>
+</element>
+
+<element name="cunsigned">
+<short>Alias for <link id="#rtl.unixtype.cunsigned"/></short>
+</element>
+
+<element name="pcchar">
+<short>Alias for <link id="#rtl.UnixType.pcchar"/></short>
+</element>
+
+<element name="pcuchar">
+<short>Alias for <link id="#rtl.UnixType.pcuchar"/></short>
+</element>
+
+<element name="pcunsigned">
+<short>Alias for <link id="#rtl.unixtype.pcunsigned"/></short>
+</element>
+
 <!-- alias type Visibility: default -->
 <element name="dev_t">
 <short>Device descriptor type.</short>
@@ -1124,6 +1148,140 @@ implement the functionality in this unit for the new platform.
 <short>Pointer to <link id="TOff64"/> type.</short>
 </element>
 
+<!-- record type Visibility: default -->
+<element name="timezone">
+<short>Record describing a timezone</short>
+</element>
+
+<!-- variable Visibility: default -->
+<element name="timezone.minuteswest">
+<short>Minutes west of GMT</short>
+</element>
+
+<!-- variable Visibility: default -->
+<element name="timezone.dsttime">
+<short>Daylight savings time</short>
+</element>
+
+<!-- pointer type Visibility: default -->
+<element name="ptimezone">
+<short>Pointer to <link id="TimeZone"/> record.</short>
+</element>
+
+<!-- alias type Visibility: default -->
+<element name="TTimeZone">
+<short>Alias for <link id="TimeZone"/> record.</short>
+</element>
+
+
+<element name="S_IFMT">
+<short>File (<link id="#rtl.baseunix.stat"/> record) mode: File type bit mask</short>
+</element>
+<element name="S_IFSOCK">
+<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Socket</short>
+</element>
+<element name="S_IFLNK">
+<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Link</short>
+</element>
+<element name="S_IFREG">
+<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Regular file</short>
+</element>
+<element name="S_IFBLK">
+<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Block device</short>
+</element>
+<element name="S_IFDIR">
+<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Directory</short>
+</element>
+<element name="S_IFCHR">
+<short>File (<link id="#rtl.baseunix.stat"/> record) mode: Character device</short>
+</element>
+<element name="S_IFIFO">
+<short>File (<link id="#rtl.baseunix.stat"/> record) mode: FIFO</short>
+</element>
+
+<element name="SigActionHandler">
+<short>Callback prototype for a <link id="#rtl.baseunix.SigActionRec"/> record.</short>
+<descr>
+When installing a signal handler, the actual signal handler must be of type
+<var>SigActionHandler</var>.
+</descr>
+</element>
+
+<element name="PSigContext">
+<short>Pointer to <link id="#rtl.baseunix.TSigContext"/> record type.</short>
+</element>
+
+<element name="TSigContext">
+<short>Record describing the CPU context when a signal occurs.</short>
+<descr>
+This type is CPU dependent. Cross-platform code should not use the contents
+of this record.
+</descr>
+</element>
+
+<element name="PSigInfo">
+<short>Pointer to <link id="#rtl.baseunix.TSigInfo"/> record type.</short>
+</element>
+
+<element name="TSigInfo">
+<short>Record describing the signal when a signal occurs.</short>
+<descr>
+This type describes the signal that occurred.
+</descr>
+</element>
+
+<element name="TSigInfo.si_signo">
+<short>Signal number</short>
+</element>
+
+
+<element name="TSigInfo.si_errno">
+<short>Error code</short>
+</element>
+
+<element name="TSigInfo.si_code">
+<short>Extra code (?)</short>
+</element>
+
+
+<element name="TStatFS">
+<short>Record describing a file system in the <link id="baseunix.fpstatfs"/> call.</short>
+</element>
+<element name="TStatFS.fstype">
+<short>File system type</short>
+</element>
+<element name="TStatFS.bsize">
+<short>Block size</short>
+</element>
+<element name="TStatFS.blocks">
+<short>Total number of blocks</short>
+</element>
+<element name="TStatFS.bfree">
+<short>Number of free blocks</short>
+</element>
+<element name="TStatFS.bavail">
+<short>Number of available blocks</short>
+</element>
+<element name="TStatFS.files">
+<short>Number of files</short>
+</element>
+<element name="TStatFS.ffree">
+<short>?</short>
+</element>
+<element name="TStatFS.fsid">
+<short>?</short>
+</element>
+<element name="TStatFS.namelen">
+<short>Max name length for files.</short>
+</element>
+<element name="TStatFS.spare">
+<short>Pad bytes. Do not use.</short>
+</element>
+
+<element name="TSigInfo.si_fields">
+<short>Extra fields, content depends on the signal.</short>
+</element>
+
 <element name="MAP_PRIVATE">
 <short><link id="FpMMap"/> map type: Changes are private</short>
 </element>
@@ -4620,6 +4778,23 @@ function.
 <example file="unixex/ex62"/>
 </element>
 
+<element name="FPSetTimeOfDay">
+<short>Set kernel time</short>
+<descr>
+<p>
+<var>FpSetTimeOfDay</var> sets the kernel time to the number of seconds since 00:00, 
+January 1 1970, GMT specified in the <var>tp</var> record. This time NOT corrected 
+any way, not taking into account timezones, daylight savings time and so on. 
+</p>
+<p>
+It is simply a wrapper to the kernel system call. 
+</p>
+</descr>
+<seealso>
+<link id="#rtl.unix.FPGetTimeOfDay"/>
+</seealso>
+</element>
+
 </module> <!-- BaseUnix -->
 </package>
 </fpdoc-descriptions>

+ 1526 - 0
docs/classes.xml

@@ -3355,6 +3355,50 @@ sets the new capacity.
 </seealso>
 </element>
 
+<element name="TStrings.GetNameValue">
+<short>Return both name and value of a name,value pair based on it's index.</short>
+<descr></descr>
+</element>
+
+
+<element name="TStrings.Delimiter">
+<short>Delimiter character used in <link id="#rtl.classes.TStrings.DelimitedText">DelimitedText</link>.</short>
+<descr></descr>
+</element>
+
+
+<element name="TStrings.DelimitedText">
+<short>Get or set all strings in the list in a delimited form.</short>
+<descr></descr>
+</element>
+
+
+<element name="TStrings.QuoteChar">
+<short>Quote character used in <link id="#rtl.classes.TStrings.DelimitedText">DelimitedText</link>.</short>
+<descr></descr>
+</element>
+
+<element name="TStrings.NameValueSeparator">
+<short>Value of the character used to separate name,value pairs</short>
+<descr>
+</descr>
+</element>
+
+
+<element name="TStrings.ValueFromIndex"><short></short>
+<descr>Return the value part of a string based on it's index.</descr>
+</element>
+
+
+<element name="TStringList.CustomSort"><short></short>
+<descr></descr>
+</element>
+
+
+<element name="TStringList.CaseSensitive"><short></short>
+<descr>Indicates whether locating strings happens in a case sensitive manner.</descr>
+</element>
+
 <element name="TStrings.CommaText">  <!-- Property -->
 <short>Contents of the list as a comma-separated string.</short>
 <descr>
@@ -3399,6 +3443,11 @@ String
 
 NormalString
 </pre>
+<p>
+This is a special case of the <link id="DelimitedText"/> property where the
+quote character is always the double quote, and the delimiter is always the
+colon.
+</p>
 </descr>
 <seealso>
 <link id="TStrings.Text"/>
@@ -9807,6 +9856,1483 @@ linefeed character.
 <short>Callback type used in stringlist compares.</short>
 </element>
 
+<!-- unresolved type reference Visibility: default -->
+<element name="sysutils">
+<short>System routines</short>
+</element>
+
+<!-- unresolved type reference Visibility: default -->
+<element name="types">
+<short>System types</short>
+</element>
+
+<!-- unresolved type reference Visibility: default -->
+<element name="typinfo">
+<short>RTTI information</short>
+</element>
+
+<!-- unresolved type reference Visibility: default -->
+<element name="rtlconsts">
+<short>Resource strings with messages</short>
+</element>
+
+<!-- enumeration type Visibility: default -->
+<element name="TShiftStateEnum">
+<short>Keyboard/Mouse shift state enumerator</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssShift">
+<short>Shift key pressed</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssAlt">
+<short>Alt key pressed</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssCtrl">
+<short>Ctrl key pressed</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssLeft">
+<short>Left mouse button pressed.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssRight">
+<short>Right mouse button pressed.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssMiddle">
+<short>Middle mouse button pressed.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssDouble">
+<short>Double mouse click.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssMeta">
+<short>Meta key pressed.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssSuper">
+<short>Super key pressed.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssHyper">
+<short>Hyper key pressed.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssAltGr">
+<short>Alt-GR key pressed.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssCaps">
+<short>Caps lock key pressed</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssNum">
+<short>Num lock key pressed</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssScroll">
+<short>Scroll lock key pressed</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssTriple">
+<short>Triple mouse click</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TShiftStateEnum.ssQuad">
+<short>Quadruple mouse click</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="THelpType.htKeyword">
+<short>Help type: Keyword help</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="THelpType.htContext">
+<short>Help type: Context ID help.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TListNotification.lnAdded">
+<short>List change notification: Element added to the list.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TListNotification.lnExtracted">
+<short>List change notification: Element extracted from the list.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TListNotification.lnDeleted">
+<short>List change notification: Element deleted from the list.</short>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TList.Extract">
+<short>Remove the first occurrence of a pointer from the list.</short>
+<descr>
+<var>Extract</var> searched for an occurence of <var>item</var>, and if a
+match is found, the match is deleted from the list. If no match is found,
+nothing is deleted. If <var>Item</var> was found, the result is
+<var>Item</var>. If <var>Item</var> was not found, the result is
+<var>Nil</var>. A <var>lnExtracted</var> notification event is triggered if
+an element is extracted from the list. Note that a <var>lnDeleted</var>
+event will also occur.
+</descr>
+<seealso>
+<link id="TList.Delete"/>
+<link id="TList.IndexOf"/>
+<link id="TList.Remove"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TList.Assign">
+<short>Copy the contents of another list.</short>
+<descr>
+<var>Assign</var> copies the pointers of the <var>Obj</var> list to the list.
+The list is cleared prior to copying.
+</descr>
+<seealso>
+<link id="TList.Clear"/>
+</seealso>
+</element>
+
+<!-- object Visibility: default -->
+<element name="TRecall">
+<short>Helper class for storing published properties</short>
+<descr>
+<p>
+<var>TRecall</var> is a helper class used to copy published 
+properties of a class (the reference object) in another class
+(the storage object). The reference object and storage object must be
+assignable to each other. 
+</p>
+<p>
+The <var>TRecall</var> can be used to store the state of a persistent class,
+and restore it at a later time.
+</p>
+<p>When a <var>TRecall</var> object is created, it gets passed a reference
+instance and a storage instance. It immediatly stores the properties of
+the reference object in the storage object. 
+</p>
+<p>
+The <link id="TRecall.Store">Store</link> method can be called throughout
+the lifetime of the reference object to update the stored properties.
+</p>
+<p>When the <var>TRecall</var> instance is destroyed then the properties are
+copied from the storage object to the reference object. The storage object
+is freed automatically.
+</p>
+<p>
+If the properties should not be copied back from the storage to the
+reference object, the <link id="TRecall.Forget">Forget</link> can be called.
+</p>
+</descr>
+<seealso>
+<link id="TRecall.Create"/>
+<link id="TRecall.Destroy"/>
+<link id="TRecall.Forget"/>
+<link id="TRecall.Store"/>
+<link id="TPersistent.Assign"/>
+</seealso>
+</element>
+
+<!-- constructor Visibility: public -->
+<element name="TRecall.Create">
+<short>Creates a new instance of <var>TRecall</var>.</short>
+<descr>
+<var>Create</var> creates a new instance of <var>TRecall</var> and
+initializes the Reference and Storage instances. It calls <link
+id="TRecall.Store">Store</link> to assign the reference object properties to
+the storage instance.
+</descr>
+<seealso>
+<link id="TRecall.Store"/>
+<link id="TRecall.Destroy"/>
+</seealso>
+</element>
+
+<!-- destructor Visibility: public -->
+<element name="TRecall.Destroy">
+<short>Copies the stored properties to the reference object and destroys the
+<var>TRecall</var> instance.</short>
+<descr>
+<var>Destroy</var> assigns the storage instance to the reference instance,
+if the latter is still valid. After this, it frees the storage and calls the
+inherited destroy.
+</descr>
+<errors>
+<var>Destroy</var> does not check whether the <link
+id="TRecall.Reference">reference</link> instance is still valid. If the
+reference pointer was invalidated, call <link id="TRecall.Forget"/> to clear
+the reference instance.
+</errors>
+<seealso>
+<link id="TRecall.Store"/>
+<link id="TRecall.Forget"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TRecall.Store">
+<short>Assigns the reference instance to the storage instance.</short>
+<descr>
+<p>
+<var>Store</var> assigns the reference instance to the storage instance.
+This will only work if the two classes can be assigned to each other.
+</p>
+<p>
+This method can be used to refresh the storage.
+</p>
+</descr>
+<errors>
+<var>Store</var> does not check whether the <link
+id="TRecall.Reference">reference</link> instance is still valid. If the
+reference pointer was invalidated, call <link id="TRecall.Forget"/> to clear
+the reference instance.
+</errors>
+<seealso>
+</seealso>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TRecall.Forget">
+<short>Clear the reference property.</short>
+<descr>
+<p>
+<var>Forget</var> sets the <link id="Reference">Reference</link> property to
+<var>Nil</var>. When the <var>TRecall</var> instance is destroyed, the
+reference instance will not be restored. 
+</p>
+<p>
+Note that after a call to <var>Forget</var>, a call to <link
+id="TRecall.Store">Store</link> has no effect.
+</p>
+</descr>
+<errors>
+None.
+</errors>
+<seealso>
+<link id="TRecall.Reference"/>
+<link id="TRecall.Store"/>
+<link id="TRecall.Destroy"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TRecall.Reference">
+<short>The reference object.</short>
+<descr>
+<var>Reference</var> is the instance of the reference object. Do not free
+the reference directly. 
+Call <link id="TRecall.Forget">Forget</link> to clear the reference and then
+free the reference object.
+</descr>
+<seealso>
+<link id="TRecall.Forget"/>
+</seealso>
+</element>
+
+<!-- enumeration type Visibility: default -->
+<element name="TCollectionNotification">
+<short>Collection change notifcation enumeration.</short>
+<descr>
+<var>TCollectionNotification</var> is used in the <link id="TCollection"/>
+class to send notifications about changes to the collection.
+</descr>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TCollectionNotification.cnAdded">
+<short>An item is added to the collection.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TCollectionNotification.cnExtracting">
+<short>An item is extracted from the collection.</short>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TCollectionNotification.cnDeleting">
+<short>An item is deleted from the collection.</short>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TCollection.Owner">
+<short>Owner of the collection.</short>
+<descr>
+<var>Owner</var> returns a reference to the owner of the collection. This
+property is required by the object inspector to be able to show the
+collection.
+</descr>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TCollection.Delete">
+<short>Delete an item from the collection.</short>
+<descr>
+<var>Delete</var> deletes the item at (zero based) position 
+<var>Index</var> from the collection. This will result in a
+<var>cnDeleted</var> notification.
+</descr>
+<errors>
+If an invalid index is specified, an exception is raised.
+</errors>
+<seealso>
+<link id="TCollection.Items"/>
+<link id="TCollection.Insert"/>
+<link id="TCollection.Clear"/>
+</seealso>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TCollection.Insert">
+<short>Insert an item in the collection.</short>
+<descr>
+<p>
+<var>Insert</var> creates a new item instance and inserts it in 
+the collection at position <var>Index</var>, and returns the new instance.
+</p>
+<p>
+In contrast, <link id="TCollection.Add"/> adds a new item at the end.
+</p>
+</descr>
+<errors>
+None.
+</errors>
+<seealso>
+<link id="TCollection.Add"/>
+<link id="TCollection.Delete"/>
+<link id="TCollection.Items"/>
+</seealso>
+</element>
+
+<!-- object Visibility: default -->
+<element name="TOwnedCollection">
+<short><link id="#rtl.classes.TCollection">TCollection</link> descendent
+which maintains owner information.</short>
+<descr>
+<var>TOwnedCollection</var> automatically maintains owner information, so it
+can be displayed in an IDE. Collections that should be displayed in an
+IDE should descend from <var>TOwnedCollection</var> or must implement a
+<var>GetOwner</var> function.
+</descr>
+<seealso>
+<link id="TCollection"/>
+</seealso>
+</element>
+
+<!-- constructor Visibility: public -->
+<element name="TOwnedCollection.Create">
+<short>Create a new <var>TOwnerCollection</var> instance.</short>
+<descr>
+<var>Create</var> creates a new instance of <var>TOwnedCollection</var> and
+stores the <var>AOwner</var> references. It will the value returned in the <link
+id="TCollection.Owner"/> property of the collection. The
+<var>ItemClass</var> class reference is passed on to the inherited
+constructor, and will be used to create new instances in the <link
+id="TCollection.Insert">Insert</link> and <link
+id="TCollection.Add">Add</link> methods.
+</descr>
+<seealso>
+<link id="TCollection.Create"/>
+<link id="TCollection.Owner"/>
+</seealso>
+</element>
+
+<!-- object Visibility: default -->
+<element name="TOwnerStream">
+<short>Stream which uses a second stream as a source</short>
+<descr>
+<var>TOwnerStream</var> can be used when creating stream chains 
+such as when using encryption and compression streams. It keeps a reference
+to the source stream and will automatically free the source stream when
+ready (if the <link id="TOwnerStream.SourceOwner">SourceOwner</link>
+property is set to <var>True</var>).
+</descr>
+<seealso>
+<link id="TStream"/>
+<link id="TOwnerStream.Source"/>
+<link id="TOwnerStream.SourceOwner"/>
+</seealso>
+</element>
+
+<!-- constructor Visibility: public -->
+<element name="TOwnerStream.Create">
+<short>Create a new instance of <var>TOwnerStream</var>. </short>
+<descr>
+<var>Create</var> instantiates a new instance of <var>TOwnerStream</var> and
+stores the reference to <var>AStream</var>. If <var>SourceOwner</var> is
+<var>True</var>, the soure stream will also be freed when the instance is
+destroyed.
+</descr>
+<seealso>
+<link id="TOwnerStream.Destroy"/>
+<link id="TOwnerStream.Source"/>
+<link id="TOwnerStream.SourceOwner"/>
+</seealso>
+</element>
+
+<!-- destructor Visibility: public -->
+<element name="TOwnerStream.Destroy">
+<short>Destroys the <var>TOwnerStream</var> instance and the source stream.</short>
+<descr>
+<var>Destroy</var> frees the source stream if the <var>SourceOwner</var>
+property is <var>True</var>.
+</descr>
+<errors>
+</errors>
+<seealso>
+<link id="TOwnerStream.Create"/>
+<link id="TOwnerStream.Source"/>
+<link id="TOwnerStream.SourceOwner"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TOwnerStream.Source">
+<short>Reference to the source stream.</short>
+<descr>
+<p>
+<var>Source</var> is the source stream. It should be uses by descendent
+streams to access the source stream to read from or write to.
+</p>
+<p>
+Do not free the <var>Source</var> reference directly. Either the owner
+stream instance should free the source stream or 
+</p>
+</descr>
+<seealso>
+<link id="TOwnerStream.Create"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TOwnerStream.SourceOwner">
+<short>Indicates whether the ownerstream owns it's source</short>
+<descr>
+<var>SourceOwner</var> indicates whether the <var>TOwnerStream</var> owns
+it's <var>Source</var> stream or not. If this property is <var>True</var>
+then the <var>Source</var> stream is freed when the <var>TOwnerStream</var>
+instance is freed.
+</descr>
+<seealso>
+<link id="TOwnerStream.Source"/>
+<link id="TOwnerStream.Destroy"/>
+</seealso>
+</element>
+
+<!-- function Visibility: public -->
+<element name="THandleStream.Seek">
+<short>Overrides the Seek method.</short>
+<descr>
+<var>seek</var> uses the <link id="#rtl.SysUtils.FileSeek">FileSeek</link>
+method to position the stream on the desired position. Note that handle
+stream descendents (notably pipes) can override the method to prevent the
+seek.
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TCustomMemoryStream.GetSize">
+<short>return the size of the stream.</short>
+<descr>
+<var>GetSize</var> returns the size of the reseved memory. It should not be
+used directly.
+</descr>
+<seealso>
+<link id="TStream.Size"/>
+</seealso>
+</element>
+
+<!-- enumeration value Visibility: default -->
+<element name="TValueType.vaUTF8String">
+<short>UTF8 encoded unicode string.</short>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.NextValue">
+<short>Return the type of the next value.</short>
+<descr>
+<p>
+<var>NextValue</var> returns the type of the next value in a binary stream,
+but does not read the value.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadValue">
+<short>Read the next value in the stream</short>
+<descr>
+<p>
+<var>NextValue</var> reads the next value in a binary stream and returns 
+the type of the read value.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TBinaryObjectReader.BeginRootComponent">
+<short>Start reading the root component.</short>
+<descr>
+<p>
+<var>BeginRootComponent</var> starts reading the root component in a binary
+stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TBinaryObjectReader.BeginComponent">
+<short>Start reading a component.</short>
+<descr>
+<p>
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.BeginProperty">
+<short>Start reading a property.</short>
+<descr>
+<p>
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TBinaryObjectReader.ReadBinary">
+<short>Start reading a binary value.</short>
+<descr>
+<p>
+<var>ReadBinary</var> reads a binary valye from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream  of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadFloat">
+<short>Read a float value</short>
+<descr>
+<p>
+<var>ReadFloat</var> reads a float value from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadSingle">
+<short>Read a single-size float value</short>
+<descr>
+<p>
+<var>ReadSingle</var> reads a single-sized float value from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadDate">
+<short>Read a date.</short>
+<descr>
+<p>
+<var>ReadDate</var> reads a date value from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadIdent">
+<short>Read an identifier</short>
+<descr>
+<p>
+<var>ReadIdent</var> reads an identifier from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadInt8">
+<short>Read an 8-bits integer.</short>
+<descr>
+<p>
+<var>Read8Int</var> reads an 8-bits signed integer from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadInt16">
+<short>Read a 16-bits integer.</short>
+<descr>
+<p>
+<var>Read16Int</var> reads a 16-bits signed integer from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadInt32">
+<short>Read a 32-bits integer.</short>
+<descr>
+<p>
+<var>Read32Int</var> reads a 32-bits signed integer from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadInt64">
+<short>Read a 64-bits integer.</short>
+<descr>
+<p>
+<var>Read64Int</var> reads a 64-bits signed integer from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadSet">
+<short>Read a set</short>
+<descr>
+<p>
+<var>ReadSet</var> reads a set from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadStr">
+<short>Read a short string</short>
+<descr>
+<p>
+<var>ReadStr</var> reads a short string from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TBinaryObjectReader.ReadString">
+<short>Read a string</short>
+<descr>
+<p>
+<var>ReadStr</var> reads a string of type <var>StringType</var> from a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TBinaryObjectReader.SkipComponent">
+<short>Skip a component's data</short>
+<descr>
+<p>
+<var>SkipComponent</var> skips the data of a component in a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>.
+</p>
+</descr>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TBinaryObjectReader.SkipValue">
+<short>Skip a value's data</short>
+<descr>
+<p>
+<var>SkipComponent</var> skips the data of the next value in a binary stream.
+</p>
+<p>
+This method is simply the implementation for a binary stream of the abstract method introduced
+in <link id="TAbstractObjectReader"/>
+</p>
+</descr>
+</element>
+
+<!-- procedure type Visibility: default -->
+<element name="TSetMethodPropertyEvent">
+<short>Callback for the <link id="TReader.OnSetMethodProperty"/> event.</short>
+<descr>
+<var>TSetMethodPropertyEvent</var> is the prototype for the <link
+id="TReader.OnSetMethodProperty"/> event. <var>Reader</var> is the sender of
+the event, <var>Instance</var> is the instance that is being streamed.
+<var>PropInfo</var> is a pointer to the RTTI information for the property
+being read, and <var>TheMethodName</var> is the name of the method that 
+the property should be set to. <var>Handled</var> should be set to
+<var>True</var> if the handler set the property succesfully. 
+</descr>
+</element>
+
+<!-- procedure type Visibility: default -->
+<element name="TPropertyNotFoundEvent">
+<short>Callback for the <link id="TReader.OnPropertyNotFound"/> event.</short>
+<descr>
+<var>TPropertyNotFoundEvent</var> is the prototype for the <link
+id="TReader.OnPropertyNotFound"/> event. <var>Reader</var> is the sender of
+the event, <var>Instance</var> is the instance that is being streamed.
+<var>PropInfo</var> is a pointer to the RTTI information for the property
+being read. <var>Handled</var> should be set to <var>True</var> if
+the handler redirected the unknown property succesfully, and <var>Skip</var>
+should be set to <var>True</var> if the value should be skipped.
+<var>IsPath</var> determines whether the property refers to a sub-property.
+</descr>
+<seealso>
+<link id="TReader.OnPropertyNotFound"/>
+</seealso>
+</element>
+
+<!-- procedure type Visibility: default -->
+<element name="TReadWriteStringPropertyEvent">
+<short>Callback for the <link id="TReader.OnReadStringProperty"/> event handler</short>
+<descr>
+<var>TReadWriteStringPropertyEvent</var> is the prototype for the <link
+id="TReader.OnReadStringProperty"/> event handler.  <var>Reader</var> is the
+sender of
+the event, <var>Instance</var> is the instance that is being streamed.
+<var>PropInfo</var> is a pointer to the RTTI information for the property
+being read. <var>Content</var> is the string as it was read from the stream.
+</descr>
+<seealso>
+<link id="TReader.OnReadStringProperty"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TReader.OnPropertyNotFound">
+<short>Handler for treating missing properties.</short>
+<descr>
+<p>
+<var>OnPropertyNotFound</var> can be used to take appropriate action when a
+property is read from a stream and no such property is found in the RTTI
+information of the Instance that is being read from the stream. It can be
+set at runtime, or at designtime by an IDE.
+</p>
+<p>
+For more information about the meaning of the various arguments to the event
+handler, see <link id="TPropertyNotFoundEvent"/>.
+</p>
+</descr>
+<seealso>
+<link id="TPropertyNotFoundEvent"/>
+<link id="TReader.OnSetMethodProperty"/>
+<link id="TReader.OnReadStringProperty"/>
+
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TReader.OnSetMethodProperty">
+<short>Handler for setting method properties.</short>
+<descr>
+<var>OnSetMethodProperty</var> can be set to handle the setting of method
+properties. This handler can be used by an IDE to prevent methods from
+actually being when an object is being streamed in the designer.
+</descr>
+<seealso>
+<link id="TReader.OnReadStringProperty"/>
+<link id="TReader.OnPropertyNotFound"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TReader.OnReadStringProperty">
+<short>Handler for translating strings when read from the stream.</short>
+<descr>
+<var>OnReadStringProperty</var> is called whenever a string property is read
+from the stream. It can be used e.g. by a translation mechanism to translate the
+strings on the fly, when a form is loaded. See <link
+id="TReadWriteStringPropertyEvent"/> for a description of the various
+parameters.
+</descr>
+<seealso>
+<link id="TReader.OnPropertyNotFound"/>
+<link id="TReader.OnSetMethodProperty"/>
+<link id="TReadWriteStringPropertyEvent"/>
+</seealso>
+</element>
+
+<!-- procedure type Visibility: default -->
+<element name="TWriteMethodPropertyEvent">
+<short>Callback for the <link id="TWriter.OnWriteMethodProperty"/> event.</short>
+<descr>
+<var>TWriteMethodPropertyEvent</var> is the prototype for the <link
+id="TWriter.OnWriteMethodProperty"/> event. <var>Writer</var> is the sender of
+the event, <var>Instance</var> is the instance that is being streamed.
+<var>PropInfo</var> is a pointer to the RTTI information for the property
+being written, and <var>MethodValue</var> is the value of the method that
+the property was set to. <var>DefMethodCodeValue</var> is set to the default
+value of the property (Nil or the parent value).
+<var>Handled</var> should be set to <var>True</var> if the handler set the property succesfully.
+</descr>
+<seealso>
+<link id="TWriter.OnWriteMethodProperty"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TWriter.OnWriteMethodProperty">
+<short>Handler from writing method properties.</short>
+<descr>
+<var>OnWriteMethodProperty</var> can be set by an IDE or some streaming
+mechanism which handles dummy values for method properties; It can be used
+to write a real value to the stream which will be interpreted correctly when
+the stream is read. See <link id="TWriteMethodPropertyEvent"/> for a description of the arguments.
+</descr>
+<seealso>
+<link id="TWriteMethodPropertyEvent"/>
+<link id="TReader.OnSetMethodProperty"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TWriter.OnWriteStringProperty">
+<short>Event handler for translating strings written to stream.</short>
+<descr>
+<var>OnWriteStringProperty</var> is called whenever a string property is
+written to the stream. It can be used e.g. by a translation mechanism to 
+translate the strings on the fly, when a form is written. See <link
+id="TReadWriteStringPropertyEvent"/> for a description of the various
+parameters.
+</descr>
+<seealso>
+<link id="TReader.OnPropertyNotFound"/>
+<link id="TReader.OnSetMethodProperty"/>
+<link id="TReadWriteStringPropertyEvent"/>
+</seealso>
+</element>
+
+<!-- object Visibility: default -->
+<element name="EThreadDestroyCalled">
+<short>Exception raised when a thread is destroyed illegally.</short>
+</element>
+
+<!-- procedure type Visibility: default -->
+<element name="TSynchronizeProcVar">
+<short>Synchronize callback type</short>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TThread.FatalException">
+<short>Exception that occured during thread execution</short>
+<descr>
+<var>FatalException</var> contains the exception that occurred during the
+thread's execution.
+</descr>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TComponent.BeforeDestruction">
+<short>Overrides standard BeforeDestruction.</short>
+<descr>
+<var>BeforeDestruction</var> is overridden by <var>TComponent</var> to set
+the <var>csDestroying</var> flag in <link id="ComponentState"/>
+</descr>
+<seealso>
+<link id="ComponentState"/>
+</seealso>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TComponent.ExecuteAction">
+<short>Standard action execution method.</short>
+<descr>
+<var>ExecuteAction</var> checks whether <var>Action</var> handles the
+current component, and if yes, calls the <var>ExecuteAction</var> method,
+passing itself as a parameter. The function returns <var>True</var> if the
+action handles the current component.
+</descr>
+<seealso>
+<link id="TBasicAction"/>
+<link id="TBasicAction.ExecuteAction"/>
+<link id="TBasicAction.HandlesTarget"/>
+<link id="UpdateAction"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TComponent.RemoveFreeNotification">
+<short>Remove a component from the Free Notification list.</short>
+<descr>
+<var>RemoveFreeNotification</var> removes <var>AComponent</var> from the
+freenotification list. 
+</descr>
+<seealso>
+<link id="FreeNotification"/>
+</seealso>
+</element>
+
+<!-- function Visibility: public -->
+<element name="TComponent.UpdateAction">
+<short>Updates the state of an action.</short>
+<descr>
+<var>UpdateAction</var> checks whether <var>Action</var> handles the
+current component, and if yes, calls the <var>UpdateTarget</var> method,
+passing itself as a parameter. The function returns <var>True</var> if the
+action handles the current component.
+</descr>
+<seealso>
+<link id="TBasicAction"/>
+<link id="TBasicAction.UpdateTarget"/>
+<link id="TBasicAction.HandlesTarget"/>
+<link id="ExecuteAction"/>
+</seealso>
+</element>
+
+<!-- object Visibility: default -->
+<element name="TDataModule">
+<short>Container for non-visual components.</short>
+<descr>
+<p>
+<var>TDataModule</var> is a container for non-visual objects which can be
+used in an IDE to group non-visual objects which can be used by various
+other containers (forms) in a project. Notably, data access components are
+typically stored on a datamodule. Web components and services can also be 
+implemented as descendents of datamodules.
+</p>
+<p>
+<var>TDataModule</var> introduces some events which make it easier to
+program, and provides the needed streaming capabilities for persistent
+storage.
+</p>
+<p>
+An IDE will typically allow to create a descendent of <var>TDataModule</var>
+which contains non-visual components in it's published property list.
+</p>
+</descr>
+<seealso>
+<link id="TDataModule.OnCreate"/>
+</seealso>
+</element>
+
+<!-- constructor Visibility: public -->
+<element name="TDataModule.Create">
+<short>Create a new instance of a <var>TDataModule</var>.</short>
+<descr>
+<var>Create</var> creates a new instance of the <var>TDatamodule</var>
+and calls <link id="TDatamodule.CreateNew"/>. After that it reads the 
+published properties from a stream using <link id="InitInheritedComponent"/>
+if a descendent class is instantiated. If the <link id="TDataModule.OldCreateOrder">OldCreateOrder</link>
+property is <var>True</var>, the <link id="OnCreate"/> event is called.
+</descr>
+<errors>
+An exception can be raised during the streaming operation.
+</errors>
+<seealso>
+<link id="TDataModule.CreateNew"/>
+</seealso>
+</element>
+
+<!-- constructor Visibility: public -->
+<element name="TDataModule.CreateNew">
+<short></short>
+<descr>
+<var>CreateNew</var> creates a new instance of the class, but bypasses the
+streaming mechanism. The <var>CreateMode</var> parameter (by default zero)
+is not used in <var>TDataModule</var>. If the <link id="AddDataModule"/>
+handler is set, then it is called, with the newly created instance as an
+argument.
+</descr>
+<seealso>
+<link id="TDataModule.Create"/>
+<link id="AddDataModule"/>
+<link id="TDataModule.OnCreate"/>
+</seealso>
+</element>
+
+<!-- destructor Visibility: public -->
+<element name="TDataModule.Destroy">
+<short>Destroys the <var>TDataModule</var> instance.</short>
+<descr>
+<p>
+<var>Destroy</var> destroys the <var>TDataModule</var> instance. If the
+<link id="TDataModule.OldCreateOrder">OldCreateOrder</link> property is
+<var>True</var> the <link id="TDataModule.OnDestroy">OnDestroy</link> event
+handler is called prior to destroying the data module.
+</p>
+<p>
+Before calling the inherited destroy, the <link id="RemoveDataModule"/>
+handler is called if it is set, and <var>Self</var> is passed as a
+parameter.
+</p>
+</descr>
+<errors>
+An event can be raised during the <var>OnDestroy</var> event handler.
+</errors>
+<seealso>
+<link id="TDataModule.OnDestroy"/>
+<link id="RemoveDataModule"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TDataModule.AfterConstruction">
+<short>Overrides standard <link id="rtl.objpas.TObject">TObject</link> behaviour.</short>
+<descr>
+<var>AfterConstruction</var> calls the <link
+id="TDataModule.OnCreate">OnCreate</link> handler if the <link
+id="TDataModule.OldCreateOrder">OldCreateOrder</link> property is
+<var>False</var>.
+</descr>
+<seealso>
+<link id="TDataModule.OldCreateOrder"/>
+<link id="TDataModule.OnCreate"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: public -->
+<element name="TDataModule.BeforeDestruction">
+<short></short>
+<descr>
+<var>BeforeDestruction</var> calls the <link id="TDataModule.OnCreate">OnDestroy</link> 
+handler if the <link id="TDataModule.OldCreateOrder">OldCreateOrder</link> property is
+<var>False</var>.
+</descr>
+<seealso>
+<link id="TDataModule.OldCreateOrder"/>
+<link id="TDataModule.OnDestroy"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TDataModule.DesignOffset">
+<short>Position property needed for manipulation in an IDE.</short>
+<descr>
+<var>DesignOffset</var> is the position of the datamodule when displayed in
+an IDE. It is streamed to the form file, and should not be used at run-time.
+</descr>
+<seealso>
+<link id="TDataModule.DesignSize"/>
+</seealso>
+</element>
+
+<!-- property Visibility: public -->
+<element name="TDataModule.DesignSize">
+<short>Size property needed for manipulation in an IDE.</short>
+<descr>
+<var>DesignSize</var> is the size of the datamodule when displayed in
+an IDE. It is streamed to the form file, and should not be used at run-time.
+</descr>
+<seealso>
+<link id="TDataModule.DesignOffset"/>
+</seealso>
+</element>
+
+<!-- property Visibility: published -->
+<element name="TDataModule.OnCreate">
+<short>Event handler, called when the datamodule is created.</short>
+<descr>
+The <var>OnCreate</var> event is triggered when the datamodule is created
+and streamed. The exact moment of triggering is dependent on the value of
+the <link id="TDataModule.OldCreateOrder">OldCreateOrder</link> property.
+</descr>
+<seealso>
+<link id="TDataModule.Create"/>
+<link id="TDataModule.CreateNew"/>
+<link id="TDataModule.OldCreateOrder"/>
+</seealso>
+</element>
+
+<!-- property Visibility: published -->
+<element name="TDataModule.OnDestroy">
+<short>Event handler, called when the datamodule is destroyed.</short>
+<descr>
+The <var>OnDestroy</var> event is triggered when the datamodule is destroyed
+The exact moment of triggering is dependent on the value of the 
+<link id="TDataModule.OldCreateOrder">OldCreateOrder</link> property.
+</descr>
+<seealso>
+<link id="TDataModule.Destroy"/>
+<link id="TDataModule.OnCreate"/>
+<link id="TDataModule.Create"/>
+<link id="TDataModule.CreateNew"/>
+<link id="TDataModule.OldCreateOrder"/>
+</seealso>
+</element>
+
+<!-- property Visibility: published -->
+<element name="TDataModule.OldCreateOrder">
+<short>Determines when <var>OnCreate</var> and <var>OnDestroy</var> are
+triggered.</short>
+<descr>
+<var>OldCreateOrder</var> determines when exactly the <link
+id="TDataModule.OnCreate">OnCreate</link> and <link
+id="TDataModule.OnDestroy">OnDestroy</link> event handlers are called:
+
+</descr>
+<seealso>
+<link id="TDataModule.OnDestroy"/>
+<link id="TDataModule.OnCreate"/>
+<link id="TDataModule.Destroy"/>
+<link id="TDataModule.Create"/>
+<link id="TDataModule.CreateNew"/>
+<link id="TDataModule.OldCreateOrder"/>
+</seealso>
+</element>
+
+<!-- variable Visibility: default -->
+<element name="AddDataModule">
+<short>Handler called when a new <link id="#rtl.classes.TDataModule">TDataModule</link> instance is created.</short>
+<descr>
+<var>AddDataModule</var> can be set by an IDE or a streaming mechanism to
+receive notification when a new instance of a <link id="TDataModule"/>
+descendent is created.
+</descr>
+<seealso>
+<link id="RemoveDataModule"/>
+<link id="TDataModule"/>
+</seealso>
+</element>
+
+<!-- variable Visibility: default -->
+<element name="RemoveDataModule">
+<short>Handler called when a <link id="#rtl.classes.TDataModule">TDataModule</link> instance is freed.</short>
+<descr>
+<var>RemoveDataModule</var> can be set by an IDE or a streaming mechanism to
+receive notification when an instance of a <link id="TDataModule"/>
+descendent is freed.
+</descr>
+<seealso>
+<link id="AddDataModule"/>
+<link id="TDataModule"/>
+</seealso>
+</element>
+
+<!-- variable Visibility: default -->
+<element name="ApplicationHandleException">
+<short>Handler for exceptions when a <link
+id="#rtl.classes.TDataModule">TDataModule</link> streaming error occurs.</short>
+<descr>
+<var>ApplicationHandleException</var> can be set by an application object to
+handle any exceptions that may occur when a <link id="TDataModule"/> is
+created.
+</descr>
+<seealso>
+<link id="TDataModule"/>
+</seealso>
+</element>
+
+<!-- variable Visibility: default -->
+<element name="ApplicationShowException">
+<short>Unused.</short>
+<descr>
+</descr>
+<seealso>
+</seealso>
+</element>
+
+<!-- procedure Visibility: default -->
+<element name="CheckSynchronize">
+<short>Check whether there are any synchronize calls in the synchronize queue.</short>
+<descr>
+<var>CheckSynchronize</var> should be called regularly by the main application
+thread to handle any <link id="TThread.synchronize"/> calls that may be waiting for
+execution by the main thread.
+</descr>
+<seealso>
+<link id="TThread.synchronize"/>
+</seealso>
+</element>
+
+<!-- variable Visibility: default -->
+<element name="WakeMainThread">
+<short>Handler which is called if a thread wants to synchronize with the main application thread.</short>
+<descr>
+<var>WakeMainThread</var> is called by the <link id="TThread.synchronize"/> call.
+It should alert the main program thread that a thread is waiting for
+synchronization. The call is executed by the thread, and should therefore
+NOT synchronize the thread, but should somehow signal the main thread that a
+thread is waiting for synchronization. For example, by sending a message.
+</descr>
+<seealso>
+<link id="CheckSynchronize"/>
+<link id="TThread.synchronize"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: default -->
+<element name="StartClassGroup">
+<short>Start new class group.</short>
+<descr>
+<p>
+<var>StartClassGroup</var> starts a new class group and adds <var>AClass</var> to
+it.
+</p>
+<p>
+The class registration and streaming mechanism allows to organize the classes in
+groups. This allows an IDE to form groups of classes, which can be enabled
+or disabled. It is not needed at Run-Time.
+</p>
+</descr>
+<seealso>
+<link id="GroupDescendentsWith"/>
+<link id="ActivateClassGroup"/>
+<link id="ClassGroupOf"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: default -->
+<element name="GroupDescendentsWith">
+<short>Add class to the group of another class.</short>
+<descr>
+<p>
+<var>GroupDescendentsWith</var> adds <var>AClass</var> to the group that
+<var>AClassGroup</var> belongs to. If <var>AClassGroup</var> belongs to more
+than 1 group, then it is added to the group which contains the nearest
+ancestor.
+</p>
+<p>
+The class registration and streaming mechanism allows to organize the classes in
+groups. This allows an IDE to form groups of classes, which can be enabled
+or disabled. It is not needed at Run-Time.
+</p>
+</descr>
+<errors>
+</errors>
+<seealso>
+<link id="StartClassGroup"/>
+<link id="ActivateClassGroup"/>
+<link id="ClassGroupOf"/>
+</seealso>
+</element>
+
+<!-- function Visibility: default -->
+<element name="ActivateClassGroup">
+<short>Activates a class group</short>
+<descr>
+<p>
+<var>ActivateClassGroup</var> activates the group of classes to which
+<var>AClass</var> belongs. The function returns the class that was last used
+to activate the class group.
+</p>
+<p>
+The class registration and streaming mechanism allows to organize the classes in
+groups. This allows an IDE to form groups of classes, which can be enabled
+or disabled. It is not needed at Run-Time.
+</p>
+</descr>
+<errors>
+If <var>AClass</var> does not belong to a class group, an exception is
+raised.
+</errors>
+<seealso>
+<link id="StartClassGroup"/>
+<link id="GroupDescendentsWith"/>
+<link id="ClassGroupOf"/>
+</seealso>
+</element>
+
+<!-- function Visibility: default -->
+<element name="ClassGroupOf">
+<short>Returns the class group to which an instance or class belongs</short>
+<descr>
+<var>ClassGroupOf</var> returns the class group to which <var>AClass</var>
+or <var>Instance</var> belongs.
+</descr>
+<errors>
+The result is <var>Nil</var> if no matching class group is found.
+</errors>
+<seealso>
+<link id="StartClassGroup"/>
+<link id="ActivateClassGroup"/>
+<link id="GroupDescendentsWith"/>
+</seealso>
+</element>
+
+<!-- function type Visibility: default -->
+<element name="TInitComponentHandler">
+<short>Callback type for <link id="rtl.classes.RegisterInitComponentHandler">RegisterInitComponentHandler</link></short>
+<descr>
+<var>TInitComponentHandler</var> is a callback type. It is used in the
+<link>InitInheritedComponent</link> call to initialize a component.
+Callbacks of this type are registered with the <link
+id="RegisterInitComponentHandler"/> call.
+</descr>
+</element>
+
+<!-- procedure Visibility: default -->
+<element name="RegisterFindGlobalComponentProc">
+<short>Register a component searching handler</short>
+<descr>
+<var>RegisterFindGlobalComponentProc</var> registers a global component
+search callback <var>AFindGlobalComponent</var>. When <link
+id="FindGlobalComponent"/> is called, then this callback will be used to
+search for the component.
+</descr>
+<errors>
+None.
+</errors>
+<seealso>
+<link id="FindGlobalComponent"/>
+<link id="UnRegisterFindGlobalComponentProc"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: default -->
+<element name="UnregisterFindGlobalComponentProc">
+<short>Remove a previously registered component searching handler.</short>
+<descr>
+<var>UnRegisterFindGlobalComponentProc</var> unregisters the previously
+registered global component search callback <var>AFindGlobalComponent</var>. 
+After this call, when <link id="FindGlobalComponent"/> is called, then this 
+callback will be no longer be used to search for the component.
+</descr>
+<errors>
+None.
+</errors>
+<seealso>
+<link id="FindGlobalComponent"/>
+<link id="RegisterFindGlobalComponentProc"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: default -->
+<element name="RegisterInitComponentHandler">
+<short>Register a component initialization handler</short>
+<descr>
+<var>RegisterInitComponentHandler</var> registers a component initialization
+handler <var>Handler</var> for the component <var>ComponentClass</var>. This
+handler will be used to initialize descendents of
+<var>ComponentClass</var> in the <link id="InitInheritedComponent"/> call. 
+</descr>
+<seealso>
+<link id="InitInheritedComponent"/>
+<link id="TInitComponentHandler"/>
+</seealso>
+</element>
+
+<!-- procedure Visibility: default -->
+<element name="BinToHex">
+<short>Convert a binary buffer to a hexadecimal string</short>
+<descr>
+<p>
+<var>BinToHex</var> converts the byte values in <var>BinValue</var> 
+to a string consisting of 2-charachter hexadecimal strings in
+<var>HexValue</var>.
+<var>BufSize</var> specifies the length of <var>BinValue</var>, which means
+that <var>HexValue</var> must have size <var>2*BufSize</var>.
+</p>
+<p>
+For example a buffer containing the byte values 255 and 0 will be converted to
+FF00.
+</p>
+</descr>
+<errors>
+No length checking is done, so if an invalid size is specified, an exception
+may follow.
+</errors>
+<seealso>
+<link id="HexToBin"/>
+</seealso>
+</element>
+
+<!-- function Visibility: default -->
+<element name="HexToBin">
+<short>Convert a hexadecimal string to a binary buffer</short>
+<descr>
+<var>HexToBin</var> scans the hexadecimal string representation in
+<var>HexValue</var> and transforms every 2 character hexadecimal 
+number to a byte and stores it in <var>BinValue</var>. The buffer size is
+the size of the binary buffer. Scanning will stop if the size of the binary
+buffer is reached or when an invalid character is encountered. The return
+value is the number of stored bytes.
+</descr>
+<errors>
+No length checking is done, so if an invalid size is specified, an exception
+may follow.
+</errors>
+<seealso>
+<link id="BinToHex"/>
+</seealso>
+</element>
+
 
 <!-- Template for copy&paste:
 <element name="">

+ 17 - 0
docs/objects.xml

@@ -748,6 +748,15 @@ None.
 <example file="objectex/ex8"/>
 </element>
 
+<element name="TObject.Is_Object">
+<short>Check whether a pointer points to an object.</short>
+<descr>
+<var>Is_Object</var> returns <var>True</var> if the pointer <var>P</var>
+points to an instance of a <var>TObject</var> descendent, it returns 
+<var>false</var> otherwise.
+</descr>
+</element>
+
 
 <element name="TStream">
 <short>Base stream class</short>
@@ -778,6 +787,14 @@ instead instantiate a descendant type, such as <var>TDosStream</var>,
 <short>Pointer type to <link id="TStream"/></short>
 </element>
 
+<element name="TStream.Init">
+<short>Constructor for TStream instance</short>
+<descr>
+<var>Init</var> initializes a TStream instance. Descendent streams should
+always call the inherited <var>Init</var>.
+</descr>
+</element>
+
 <element name="TStream.Status">
 <short>Current stream status</short>
 </element>

+ 2 - 2
docs/prog.tex

@@ -2871,11 +2871,11 @@ Offset from frame pointer & What is stored \\ \hline
 
 Constructor and destructors have special invisible parameters
 which are passed to them. These invisible parameters are used
-internally to instanciate the objects and classes. 
+internally to instantiate the objects and classes. 
 
 \subsection{objects}
 
-The actual invisible declaration of an object constructoir
+The actual invisible declaration of an object constructor
 is as follows:
 
 \begin{verbatim}

+ 5 - 0
docs/ref.tex

@@ -392,6 +392,11 @@ parsed as 64-bit integer constants as of version 1.9.0. Earliers
 versions would convert it to a real-typed constant.
 \end{remark}
 
+\begin{remark}
+Note that Octal and Binary notation are not supported in TP or Delphi compatibility
+mode.
+\end{remark}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Labels
 \section{Labels}

+ 101 - 25
docs/unix.xml

@@ -962,31 +962,6 @@
 <short>Pointer to <link id="SigActionRec"/> record type.</short>
 </element>
 
-<!-- record type Visibility: default -->
-<element name="timezone">
-<short>Record describing a timezone</short>
-</element>
-
-<!-- variable Visibility: default -->
-<element name="timezone.minuteswest">
-<short>Minutes west of GMT</short>
-</element>
-
-<!-- variable Visibility: default -->
-<element name="timezone.dsttime">
-<short>Daylight savings time</short>
-</element>
-
-<!-- pointer type Visibility: default -->
-<element name="ptimezone">
-<short>Pointer to <link id="TimeZone"/> record.</short>
-</element>
-
-<!-- alias type Visibility: default -->
-<element name="TTimeZone">
-<short>Alias for <link id="TimeZone"/> record.</short>
-</element>
-
 <element name="S_IFMT">
 <short>File (<link id="#rtl.baseunix.stat"/> record) mode: File type bit mask</short>
 </element>
@@ -2440,6 +2415,107 @@ function.
 </seealso>
 </element>
 
+<element name="MAP_PRIVATE">
+<short><link id="FpMMap"/> map type: Changes are private</short>
+</element>
+<element name="MAP_ANONYMOUS">
+<short><link id="FpMMap"/> map type: Don't use a file</short>
+</element>
+<element name="MAP_GROWSDOWN">
+<short><link id="FpMMap"/> option: Memory grows downward (like a stack)</short>
+</element>
+<element name="MAP_DENYWRITE">
+<short><link id="FpMMap"/> option: Ignored.</short>
+</element>
+<element name="MAP_EXECUTABLE">
+<short><link id="FpMMap"/> option: Ignored.</short>
+</element>
+<element name="MAP_LOCKED">
+<short><link id="FpMMap"/> option: lock the pages in memory.</short>
+</element>
+<element name="MAP_NORESERVE">
+<short><link id="FpMMap"/> option: Do not reserve swap pages for this memory.</short>
+</element>
+<element name="MAP_SHARED">
+<short><link id="FpMMap"/> map type: Share changes</short>
+</element>
+<element name="MAP_TYPE">
+<short><link id="FpMMap"/> map type: Bitmask for type of mapping</short>
+</element>
+<element name="MAP_FIXED">
+<short><link id="FpMMap"/> map type: Interpret addr exactly</short>
+</element>
+
+<element name="PROT_READ">
+<short><link id="FpMMap"/> memory access: page can be read</short>
+</element>
+<element name="PROT_WRITE">
+<short><link id="FpMMap"/> memory access: page can be written</short>
+</element>
+<element name="PROT_EXEC">
+<short><link id="FpMMap"/> memory access: page can be executed</short>
+</element>
+<element name="PROT_NONE">
+<short><link id="FpMMap"/> memory access: page can not be accessed</short>
+</element>
+
+<element name="cchar">
+<short>Alias for <link id="#rtl.UnixType.cchar"/></short>
+</element>
+
+<element name="cuchar">
+<short>Alias for <link id="#rtl.UnixType.cuchar"/></short>
+</element>
+
+<element name="cunsigned">
+<short>Alias for <link id="#rtl.unixtype.cunsigned"/></short>
+</element>
+
+<element name="pcchar">
+<short>Alias for <link id="#rtl.UnixType.pcchar"/></short>
+</element>
+
+<element name="pcuchar">
+<short>Alias for <link id="#rtl.UnixType.pcuchar"/></short>
+</element>
+
+<element name="pcunsigned">
+<short>Alias for <link id="#rtl.unixtype.pcunsigned"/></short>
+</element>
+
+<element name="TStatFS">
+<short>Record describing a file system in the <link id="baseunix.fpstatfs"/> call.</short>
+</element>
+<element name="TStatFS.fstype">
+<short>File system type</short>
+</element>
+<element name="TStatFS.bsize">
+<short>Block size</short>
+</element>
+<element name="TStatFS.blocks">
+<short>Total number of blocks</short>
+</element>
+<element name="TStatFS.bfree">
+<short>Number of free blocks</short>
+</element>
+<element name="TStatFS.bavail">
+<short>Number of available blocks</short>
+</element>
+<element name="TStatFS.files">
+<short>Number of files</short>
+</element>
+<element name="TStatFS.ffree">
+<short>?</short>
+</element>
+<element name="TStatFS.fsid">
+<short>?</short>
+</element>
+<element name="TStatFS.namelen">
+<short>Max name length for files.</short>
+</element>
+<element name="TStatFS.spare">
+<short>Pad bytes. Do not use.</short>
+</element>
 
 </module> <!-- Unix -->
 </package>

+ 42 - 0
docs/unixtype.xml

@@ -126,6 +126,31 @@ sizes and conventions of the platform to which the compiler is ported.
 <short>Pointer to <link id="cuShort"/> type.</short>
 </element>
 
+<element name="cchar">
+<short>C type: 8-bit signed integer</short>
+</element>
+
+<element name="cuchar">
+<short>C type: 8-bit unsigned integer</short>
+</element>
+
+<element name="cunsigned">
+<short>Alias for <link id="#rtl.unixtype.cuint"/></short>
+</element>
+
+<element name="pcchar">
+<short>Pointer to <link id="#rtl.UnixType.cchar"/></short>
+</element>
+
+<element name="pcuchar">
+<short>Pointer to <link id="#rtl.UnixType.cuchar"/></short>
+</element>
+
+<element name="pcunsigned">
+<short>Pointer to <link id="#rtl.unixtype.cunsigned"/></short>
+</element>
+
+
 <!-- alias type Visibility: default -->
 <element name="dev_t">
 <short>Device descriptor type.</short>
@@ -786,6 +811,23 @@ anytime.
 <element name="SIG_MAXSIG">
 <short>Maximum signal number.</short>
 </element>
+
+<!-- constant Visibility: default -->
+<element name="Prio_Process">
+<short><link id="#rtl.unix.fpGetPriority"/> option: Get process priority.</short>
+</element>
+
+<!-- constant Visibility: default -->
+<element name="Prio_PGrp">
+<short><link id="rtl.unix.fpGetPriority"/> option: Get process group priority.</short>
+</element>
+
+<!-- constant Visibility: default -->
+<element name="Prio_User">
+<short><link id="#rtl.unix.fpGetPriority"/> option: Get user priority.</short>
+</element>
+
+
 </module> <!-- unixtype -->
 </package>
 </fpdoc-descriptions>