mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-11 00:38:06 +02:00

svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources ........ r9694 | michael | 2008-01-09 21:31:18 +0100 (Wed, 09 Jan 2008) | 1 line * Initial check-in ........ r9695 | michael | 2008-01-09 21:35:58 +0100 (Wed, 09 Jan 2008) | 1 line * New version from Giulio Bernardi ........ r9697 | michael | 2008-01-09 21:41:54 +0100 (Wed, 09 Jan 2008) | 1 line * Patch from Giulio Bernardi with resource support ........ r9698 | michael | 2008-01-09 21:46:33 +0100 (Wed, 09 Jan 2008) | 1 line * Patch from Giulio Bernardi to add more resource testing ........ r9699 | michael | 2008-01-09 21:57:26 +0100 (Wed, 09 Jan 2008) | 1 line * New tool from Giulio Bernardi ........ r9700 | michael | 2008-01-09 21:58:23 +0100 (Wed, 09 Jan 2008) | 1 line * New tool from Giulio Bernardi ........ r9701 | michael | 2008-01-09 22:01:54 +0100 (Wed, 09 Jan 2008) | 1 line * Added fcl-res ........ r9702 | michael | 2008-01-09 22:01:58 +0100 (Wed, 09 Jan 2008) | 1 line * Added fcl-res ........ r9703 | michael | 2008-01-10 08:54:26 +0100 (Thu, 10 Jan 2008) | 1 line * Fixed double code ........ r9704 | jonas | 2008-01-10 10:59:20 +0100 (Thu, 10 Jan 2008) | 2 lines - removed duplicate code ........ r9705 | jonas | 2008-01-10 11:25:21 +0100 (Thu, 10 Jan 2008) | 2 lines + added missing fcl-res dependencies ........ r9706 | jonas | 2008-01-10 11:58:30 +0100 (Thu, 10 Jan 2008) | 2 lines + dependencies for fpintres and fpextres ........ r9707 | yury | 2008-01-10 12:47:51 +0100 (Thu, 10 Jan 2008) | 3 lines * Fixed compilation of resource, which is included in a unit located in different folder than main source. * .res files must be copied to units output folder, otherwise .res files will not be found when only compiled units path is available and compiler does not know anything about sources folder. * Improved resource related error messages. ........ r9708 | michael | 2008-01-10 12:52:13 +0100 (Thu, 10 Jan 2008) | 1 line * Removed double source after end. ........ r9709 | michael | 2008-01-10 12:52:48 +0100 (Thu, 10 Jan 2008) | 1 line * No longer needed ........ r9710 | tom_at_work | 2008-01-10 22:09:08 +0100 (Thu, 10 Jan 2008) | 1 line * properly align FPC_RESLOCATION so that linking does not fail on some architectures (e.g. ppc64) ........ r9711 | tom_at_work | 2008-01-10 23:53:12 +0100 (Thu, 10 Jan 2008) | 1 line * fix splitting of 64 bit load/stores from/to unaligned memory locations into multiple load/stores, which in some cases generated wrong code ........ r9712 | michael | 2008-01-11 11:00:08 +0100 (Fri, 11 Jan 2008) | 1 line * Fixed bug in BSS section on 64-bit platforms ........ r9720 | giulio | 2008-01-12 10:02:04 +0100 (Sat, 12 Jan 2008) | 1 line Updated fcl-res documentation: occurrences of reslib changed to fcl-res. ........ r9740 | giulio | 2008-01-13 19:36:44 +0100 (Sun, 13 Jan 2008) | 3 lines - Don't try to compile resources on systems with a non windows-like resource support. - Don't add the .or file to the list of object files if resource compiling failed. ........ r10201 | giulio | 2008-02-04 11:35:44 +0100 (Mon, 04 Feb 2008) | 5 lines * resource compiling supported on OS/2 via wrc * CompileResourceFiles and CollectResourceFiles don't do target-specific checks anymore * refactored a bit ........ r10389 | giulio | 2008-02-25 21:32:52 +0100 (Mon, 25 Feb 2008) | 2 lines Deleted test file which was committed by mistake ........ r10472 | giulio | 2008-03-10 12:22:18 +0100 (Mon, 10 Mar 2008) | 2 lines changed define FPC_HAS_RESOURCES to FPC_HAS_WINLIKERESOURCES ........ git-svn-id: trunk@10481 -
481 lines
17 KiB
XML
481 lines
17 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<fpdoc-descriptions>
|
|
<package name="fcl-res">
|
|
|
|
<!--
|
|
====================================================================
|
|
resourcetree
|
|
====================================================================
|
|
-->
|
|
|
|
<module name="resourcetree">
|
|
<short>Implements an ordered tree of resources</short>
|
|
<descr>
|
|
<p>This unit implements classes that represent an ordered tree of resources.</p>
|
|
<p>Such a tree is used internally by <link id="resource.TResources">TResources</link> to speed up operations, and by certain resource readers and writers that deal with resource formats where data is stored as ordered trees of resources. For this reason, only implementors of resource readers and writers should be interested in these classes.</p>
|
|
<p>A tree begins with a root node, which is an instance of <link id="TRootResTreeNode"/>. The root node contains type nodes, that contain name nodes, that contain language id nodes. Finally, a language id node contains a resource.</p>
|
|
<p>Each node contains its sub nodes in two lists: a Named list for nodes identified by a name (a string), and an ID list for nodes identified by an ID (an integer). In each list, nodes are sorted in ascending order.</p>
|
|
<p>Many resource formats (PECOFF, ELF, Mach-O, and external resource files) use this exact format to store resource information.</p>
|
|
<remark>When a tree is destroyed, the resources it references aren't destroyed.</remark>
|
|
</descr>
|
|
|
|
<!-- unresolved type reference Visibility: default -->
|
|
<element name="Classes">
|
|
</element>
|
|
|
|
<!-- unresolved type reference Visibility: default -->
|
|
<element name="SysUtils">
|
|
</element>
|
|
|
|
<!-- unresolved type reference Visibility: default -->
|
|
<element name="resource">
|
|
</element>
|
|
|
|
<!-- object Visibility: default -->
|
|
<element name="TResourceTreeNode">
|
|
<short>Abstract class representing a resource tree node.</short>
|
|
<descr>
|
|
<p>This class represents a node in a resource tree.</p>
|
|
<remark>An object of this class should never be directly instantiated. To create a node, call <link id ="TResourceTreeNode.CreateSubNode">CreateSubNode</link> method of an already existing node.</remark>
|
|
</descr>
|
|
</element>
|
|
|
|
<!-- variable Visibility: protected -->
|
|
<element name="TResourceTreeNode.fParent">
|
|
</element>
|
|
|
|
<!-- variable Visibility: protected -->
|
|
<element name="TResourceTreeNode.fNamedEntries">
|
|
</element>
|
|
|
|
<!-- variable Visibility: protected -->
|
|
<element name="TResourceTreeNode.fIDEntries">
|
|
</element>
|
|
|
|
<!-- variable Visibility: protected -->
|
|
<element name="TResourceTreeNode.fSubDirRVA">
|
|
</element>
|
|
|
|
<!-- variable Visibility: protected -->
|
|
<element name="TResourceTreeNode.fDataRVA">
|
|
</element>
|
|
|
|
<!-- variable Visibility: protected -->
|
|
<element name="TResourceTreeNode.fNameRva">
|
|
</element>
|
|
|
|
<!-- variable Visibility: protected -->
|
|
<element name="TResourceTreeNode.fDesc">
|
|
</element>
|
|
|
|
<!-- function Visibility: protected -->
|
|
<element name="TResourceTreeNode.GetNamedCount">
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.GetNamedCount.Result">
|
|
</element>
|
|
|
|
<!-- function Visibility: protected -->
|
|
<element name="TResourceTreeNode.GetNamedEntry">
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.GetNamedEntry.Result">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.GetNamedEntry.index">
|
|
</element>
|
|
|
|
<!-- function Visibility: protected -->
|
|
<element name="TResourceTreeNode.GetIDCount">
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.GetIDCount.Result">
|
|
</element>
|
|
|
|
<!-- function Visibility: protected -->
|
|
<element name="TResourceTreeNode.GetIDEntry">
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.GetIDEntry.Result">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.GetIDEntry.index">
|
|
</element>
|
|
|
|
<!-- function Visibility: protected -->
|
|
<element name="TResourceTreeNode.GetData">
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.GetData.Result">
|
|
</element>
|
|
|
|
<!-- function Visibility: protected -->
|
|
<element name="TResourceTreeNode.Find">
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.Result">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.aList">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.aDesc">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.index">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.aLangID">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.aType">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.aName">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.noLangID">
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.toDelete">
|
|
</element>
|
|
|
|
<!-- constructor Visibility: protected -->
|
|
<element name="TResourceTreeNode.Create">
|
|
</element>
|
|
|
|
<!-- property Visibility: protected -->
|
|
<element name="TResourceTreeNode.Parent">
|
|
</element>
|
|
|
|
<!-- destructor Visibility: public -->
|
|
<element name="TResourceTreeNode.Destroy">
|
|
<short>Destroys the object.</short>
|
|
<descr>
|
|
<remark>Only root nodes (instances of <link id="TRootResTreeNode"/>) should be destroyed. Children nodes are destroyed by their parent when needed.</remark>
|
|
</descr>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: public -->
|
|
<element name="TResourceTreeNode.Add">
|
|
<short>Adds a new resource to the tree</short>
|
|
<descr>
|
|
<p>This method adds a new resource to the tree, creating all needed sub nodes</p>
|
|
<remark>This method should only be called on root nodes (instances of <link id="TRootResTreeNode"/>).</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.Remove"/>
|
|
</seealso>
|
|
<errors>
|
|
<p>If a resource with the same type, name and language ID already exists, an <link id="resource.EResourceDuplicateException">EResourceDuplicateException</link> exception is raised.</p>
|
|
</errors>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Add.aResource">
|
|
<short>The resource to add</short>
|
|
</element>
|
|
|
|
<!-- function Visibility: public -->
|
|
<element name="TResourceTreeNode.CreateSubNode">
|
|
<short>Creates a subnode</short>
|
|
<descr>
|
|
<p>This method creates a subnode, identified by the given resource description.</p>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.Desc"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.CreateSubNode.Result">
|
|
<short>The newly created sub node</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.CreateSubNode.aDesc">
|
|
<short>The description of the sub node</short>
|
|
</element>
|
|
|
|
<!-- function Visibility: public -->
|
|
<element name="TResourceTreeNode.CreateResource">
|
|
<short>Creates a new resource</short>
|
|
<descr>
|
|
<p>This method creates a new resource.</p>
|
|
<p>A new resource is created and its type, name and language id are determined from the ancestor nodes in the tree hierarchy.</p>
|
|
<p>Usually <var>CreateResource</var> is called by resource readers that read files in which resources are stored as trees.</p>
|
|
<remark>This method is meaningful only when called on leaf nodes (language id nodes).</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.IsLeaf"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.CreateResource.Result">
|
|
<short>The newly created resource</short>
|
|
</element>
|
|
|
|
<!-- procedure Visibility: public -->
|
|
<element name="TResourceTreeNode.Clear">
|
|
<short>Destroys all sub nodes</short>
|
|
<descr>
|
|
<p>This method destroys all sub nodes of the node.</p>
|
|
</descr>
|
|
</element>
|
|
|
|
<!-- function Visibility: public -->
|
|
<element name="TResourceTreeNode.Remove">
|
|
<short>Removes a resource from the tree</short>
|
|
<descr>
|
|
<p>This method searches for the specified resource and removes it from the tree. If a language ID is not provided, the first resource found that matches <var>aType</var> and <var>aName</var> is returned. The removed resource is then returned.</p>
|
|
<p>If no resource is found, <var>nil</var> is returned.</p>
|
|
<remark>This method should only be called on root nodes (instances of <link id="TRootResTreeNode"/>).</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.Add"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.Remove.Result">
|
|
<short>The removed resource, or <var>nil</var> if not found</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Remove.aType">
|
|
<short>The type of the resource to remove</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Remove.aName">
|
|
<short>The name of the resource to remove</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Remove.aLangID">
|
|
<short>The language ID of the resource to remove</short>
|
|
</element>
|
|
|
|
<!-- function Visibility: public -->
|
|
<element name="TResourceTreeNode.Find">
|
|
<short>Searches for a resource</short>
|
|
<descr>
|
|
<p>This method searches for a resource with the given type and name in the tree. If a language ID is not provided, the first resource found that matches <var>aType</var> and <var>aName</var> is returned.</p>
|
|
<p>If no resource is found, <var>nil</var> is returned.</p>
|
|
<remark>This method should only be called on root nodes (instances of <link id="TRootResTreeNode"/>).</remark>
|
|
</descr>
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.Result">
|
|
<short>The resource that matches the search criteria</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.aType">
|
|
<short>The type of the resource to search for</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.aName">
|
|
<short>The name of the resource to search for</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.Find.aLangID">
|
|
<short>The language ID of the resource to search for</short>
|
|
</element>
|
|
|
|
<!-- function Visibility: public -->
|
|
<element name="TResourceTreeNode.FindFreeID">
|
|
<short>Find a free ID to be used as a resource name</short>
|
|
<descr>
|
|
<p>This method is used to find an available ID to be used as a name for a resource, given a resource type. It is used internally by <link id="resource.TResources.AddAutoID">AddAutoID</link> method of <link id="resource.TResources">TResources</link>.</p>
|
|
<remark>This method should only be called on root nodes (instances of <link id="TRootResTreeNode"/>).</remark>
|
|
</descr>
|
|
<errors>
|
|
<p>If there are no free ids left for the given resource type, an <link id="resource.ENoMoreFreeIDsException">ENoMoreFreeIDsException</link> is raised.</p>
|
|
</errors>
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.FindFreeID.Result">
|
|
<short>A new resource ID</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.FindFreeID.aType">
|
|
<short>The type of the resource</short>
|
|
</element>
|
|
|
|
<!-- function Visibility: public -->
|
|
<element name="TResourceTreeNode.IsLeaf">
|
|
<short>Reports whether the node is a leaf node.</short>
|
|
<descr>
|
|
<p>Returns <var>true</var> if the node is a leaf node. A leaf node is a language ID node.</p>
|
|
</descr>
|
|
</element>
|
|
|
|
<!-- function result Visibility: default -->
|
|
<element name="TResourceTreeNode.IsLeaf.Result">
|
|
<short><var>True</var> if the node is a leaf node</short>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.Desc">
|
|
<short>The description of the node</short>
|
|
<descr>
|
|
<p>The description of a node identifies that node. According to the type of the node, it can be a resource type, name or language id.</p>
|
|
</descr>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.NamedCount">
|
|
<short>The number of named sub nodes of the node</short>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.NamedEntries"/>
|
|
<link id="TResourceTreeNode.IDCount"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.NamedEntries">
|
|
<short>Indexed array of named sub nodes of the node</short>
|
|
<descr>
|
|
<p>This property can be used to access all named sub nodes in the node.</p>
|
|
<remark>This array is 0-based: valid elements range from 0 to <link id="TResourceTreeNode.NamedCount">NamedCount</link>-1.</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.NamedCount"/>
|
|
<link id="TResourceTreeNode.IDEntries"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.NamedEntries.index">
|
|
<short></short>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.IDCount">
|
|
<short>The number of ID sub nodes of the node</short>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.IDEntries"/>
|
|
<link id="TResourceTreeNode.NamedCount"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.IDEntries">
|
|
<short>Indexed array of ID sub nodes of the node</short>
|
|
<descr>
|
|
<p>This property can be used to access all ID sub nodes in the node.</p>
|
|
<remark>This array is 0-based: valid elements range from 0 to <link id="TResourceTreeNode.IDCount">IDCount</link>-1.</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.IDCount"/>
|
|
<link id="TResourceTreeNode.NamedEntries"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TResourceTreeNode.IDEntries.index">
|
|
<short></short>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.NameRVA">
|
|
<short>To be used by readers and writers</short>
|
|
<descr>
|
|
<p>This property can be freely used by resource readers and writers to store a file offset or address needed to load or write other data, since it isn't used by <link id="TResourceTreeNode"/> or <link id="resource.TResources">TResources</link>.</p>
|
|
<remark>Do not rely on the value of this property when accessing a new tree: other readers or writers could have changed it for their internal operations.</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.SubDirRVA"/>
|
|
<link id="TResourceTreeNode.DataRVA"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.SubDirRVA">
|
|
<short>To be used by readers and writers</short>
|
|
<descr>
|
|
<p>This property can be freely used by resource readers and writers to store a file offset or address needed to load or write other data, since it isn't used by <link id="TResourceTreeNode"/> or <link id="resource.TResources">TResources</link>.</p>
|
|
<remark>Do not rely on the value of this property when accessing a new tree: other readers or writers could have changed it for their internal operations.</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.NameRVA"/>
|
|
<link id="TResourceTreeNode.DataRVA"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.DataRVA">
|
|
<short>To be used by readers and writers</short>
|
|
<descr>
|
|
<p>This property can be freely used by resource readers and writers to store a file offset or address needed to load or write other data, since it isn't used by <link id="TResourceTreeNode"/> or <link id="resource.TResources">TResources</link>.</p>
|
|
<remark>Do not rely on the value of this property when accessing a new tree: other readers or writers could have changed it for their internal operations.</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.NameRVA"/>
|
|
<link id="TResourceTreeNode.SubDirRVA"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TResourceTreeNode.Data">
|
|
<short>The resource contained in this node</short>
|
|
<descr>
|
|
<p>This property references the resource contained in this node.</p>
|
|
<remark>This property is meaningful only on leaf nodes (language id nodes).</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.IsLeaf"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- object Visibility: default -->
|
|
<element name="TRootResTreeNode">
|
|
<short>The root node in a resource tree</short>
|
|
<descr>
|
|
<p>This node represents the root node of a resource tree.</p>
|
|
<p>It is the only node which must be created with its constructor: other nodes in the tree are automatically created when adding a resource, or calling <link id="TResourceTreeNode.CreateSubNode">CreateSubNode</link> method of their parent.</p>
|
|
<p>Normally all search, add and delete operations on the tree are performed by calling methods of this node.</p>
|
|
</descr>
|
|
</element>
|
|
|
|
<!-- constructor Visibility: public -->
|
|
<element name="TRootResTreeNode.Create">
|
|
<short>Creates a new root node</short>
|
|
<descr>
|
|
<p>This method creates a new tree, represented by a root node without children.</p>
|
|
<p>Other nodes in the tree are automatically created when adding a resource, or calling <link id="TResourceTreeNode.CreateSubNode">CreateSubNode</link> method of their parent.</p>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TResourceTreeNode.CreateSubNode"/>
|
|
<link id="TResourceTreeNode.Add"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
</module> <!-- resourcetree -->
|
|
|
|
</package>
|
|
</fpdoc-descriptions>
|