mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 10:29:17 +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 -
170 lines
7.8 KiB
XML
170 lines
7.8 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<fpdoc-descriptions>
|
|
<package name="fcl-res">
|
|
|
|
<!--
|
|
====================================================================
|
|
stringtableresource
|
|
====================================================================
|
|
-->
|
|
|
|
<module name="stringtableresource">
|
|
<short>Contains a string table resource type</short>
|
|
<descr>
|
|
<p>This unit contains <link id="TStringTableResource"/>, a <link id="resource.TAbstractResource">TAbstractResource</link> descendant specialized in handling resource of type <link id="resource.RT_STRING">RT_STRING</link>.</p>
|
|
<p>Adding this unit to a program's <var>uses</var> clause registers class <link id="TStringTableResource"/> for type <link id="resource.RT_STRING">RT_STRING</link> with <link id="resfactory.TResourceFactory">TResourceFactory</link>.</p>
|
|
</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="EStringTableResourceException">
|
|
<short>Base class for string table resource-related exceptions</short>
|
|
</element>
|
|
|
|
<!-- object Visibility: default -->
|
|
<element name="EStringTableNameNotAllowedException">
|
|
<short>The name of the resource isn't allowed</short>
|
|
<descr>
|
|
<p>This exception is raised by constructor <link id="TStringTableResource.Create"/> if the name of the resource isn't of type <link id="resource.TDescType.dtID">dtID</link> and/or its name is not in the range 1-4096.</p>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TStringTableResource.Create"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- object Visibility: default -->
|
|
<element name="EStringTableIndexOutOfBoundsException">
|
|
<short>The ID of the string is out of range</short>
|
|
<descr>
|
|
<p>This exception is raised when the id specified to access a string of <link id="TStringTableResource.Strings"/> property is not in the range <link id="TStringTableResource.FirstID"/> - <link id="TStringTableResource.LastID"/>.</p>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TStringTableResource"/>
|
|
<link id="TStringTableResource.Strings"/>
|
|
<link id="TStringTableResource.FirstID"/>
|
|
<link id="TStringTableResource.LastID"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- resource string Visibility: default -->
|
|
<element name="SNameNotAllowed">
|
|
</element>
|
|
|
|
<!-- resource string Visibility: default -->
|
|
<element name="SIndexOutOfBounds">
|
|
</element>
|
|
|
|
|
|
<!-- object Visibility: default -->
|
|
<element name="TStringTableResource">
|
|
<short>String table resource type</short>
|
|
<descr>
|
|
<p>This class represents a resource of type <link id="resource.RT_STRING">RT_STRING</link>.</p>
|
|
<p>A string table is a resource containing strings, identified by an integer id in the range 0-65535. A string table contains exactly 16 strings, and its name is an ID in the range 1-4096, determined by the highest 12 bits of the strings ID it contains, plus one. That is, a string table with 1 as name holds strings with IDs from 0 to 15, string table 2 contains strings with IDs from 16 to 31 and so on. There is no difference between an empty string and a non-existant string.</p>
|
|
<p>For these reasons, it is not possible to set the name of a string table: it is autogenerated from the value of <link id="TStringTableResource.FirstID">FirstID</link> property. Moreover, <link id="TStringTableResource.Count">Count</link> property is always 16.</p>
|
|
<p><link id="TStringTableResource.Strings">Strings</link> property is provided to access and modify individual strings.</p>
|
|
<remark>This class doesn't allow its type to be changed to anything else than <link id="resource.RT_BITMAP">RT_BITMAP</link>. Its name can't be changed too. Attempts to do so result in a <link id="resource.EResourceDescChangeNotAllowedException">EResourceDescChangeNotAllowedException</link>.</remark>
|
|
</descr>
|
|
</element>
|
|
|
|
<!-- constructor Visibility: public -->
|
|
<element name="TStringTableResource.Create">
|
|
<short>Creates a new string table resource</short>
|
|
<descr>
|
|
<p>Please note that <var>aType</var> parameter is not used, since this class always uses <link id="resource.RT_STRING">RT_STRING</link> as type.</p>
|
|
<remark><var>aName</var> must be a <link id="resource.TResourceDesc">TResourceDesc</link> of type <link id="resource.TDescType.dtID">dtID</link> and its value must be in the range 1-4096, otherwise an <link id="EStringTableNameNotAllowedException"/> exception is raised.</remark>
|
|
</descr>
|
|
<errors>
|
|
<p>If <var>aName</var> is not of type <link id="resource.TDescType.dtID">dtID</link> and/or its value isn't in the range 1-4096, an <link id="EStringTableNameNotAllowedException"/> exception is raised.</p>
|
|
</errors>
|
|
<seealso>
|
|
<link id="TStringTableResource.FirstID"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TStringTableResource.Create.aType">
|
|
<short>Ignored. Can be <var>nil</var>.</short>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TStringTableResource.Create.aName">
|
|
<short>The name of the resource. Must be of type dtID and in the range 1-4096</short>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TStringTableResource.FirstID">
|
|
<short>The ID of first the string contained in the string table</short>
|
|
<descr>
|
|
<p>This property holds the value of the ID of the first string of the table. It is a multiple of 16.</p>
|
|
<p>The name of the resource is determined by this property, so changing FirstID also changes the resource name.</p>
|
|
<remark>If an attempt of setting this property to an integer that isn't a multiple of 16 is made, the value is automatically corrected to the closest multiple of 16 less than the value specified (e.g. setting it to 36 sets it to 32).</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TStringTableResource"/>
|
|
<link id="TStringTableResource.LastID"/>
|
|
<link id="TStringTableResource.Strings"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TStringTableResource.LastID">
|
|
<short>The ID of the last string contained in the string table</short>
|
|
<descr>
|
|
<p>The value of this property is always <link id="TStringTableResource.FirstID">FirstID</link>+15.</p>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TStringTableResource"/>
|
|
<link id="TStringTableResource.FirstID"/>
|
|
<link id="TStringTableResource.Strings"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TStringTableResource.Count">
|
|
<short>The number of strings contained in the string table</short>
|
|
<descr>
|
|
<p>Since a string table resource always contains exactly 16 strings, this property is always 16</p>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TStringTableResource"/>
|
|
<link id="TStringTableResource.FirstID"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- property Visibility: public -->
|
|
<element name="TStringTableResource.Strings">
|
|
<short>Indexed array of strings in the string table</short>
|
|
<descr>
|
|
<p>This property can be used to access all strings in the object.</p>
|
|
<remark>Strings are accessed by their ID: valid elements range from <link id="TStringTableResource.FirstID">FirstID</link> to <link id="TStringTableResource.LastID">LastID</link>. If the index specified isn't in this range, an <link id="EStringTableIndexOutOfBoundsException"/> exception is raised.</remark>
|
|
<remark>If you need to access <link id="resource.TAbstractResource.RawData">RawData</link> after you modified strings, be sure to call <link id="resource.TAbstractResource.UpdateRawData">UpdateRawData</link> first. This isn't needed however when resource is written to a stream, since <link id="resource.TResources">TResources</link> takes care of it.</remark>
|
|
</descr>
|
|
<seealso>
|
|
<link id="TStringTableResource"/>
|
|
<link id="TStringTableResource.FirstID"/>
|
|
<link id="TStringTableResource.LastID"/>
|
|
</seealso>
|
|
</element>
|
|
|
|
<!-- argument Visibility: default -->
|
|
<element name="TStringTableResource.Strings.id">
|
|
<short>The ID of the string to be accessed</short>
|
|
</element>
|
|
|
|
</module> <!-- stringtableresource -->
|
|
|
|
</package>
|
|
</fpdoc-descriptions>
|