mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-31 20:51:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			12027 lines
		
	
	
		
			440 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			12027 lines
		
	
	
		
			440 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0"?>
 | |
| <fpdoc-descriptions>
 | |
|   <!--  
 | |
| 
 | |
|    $Id: system.xml,v 1.6 2005/05/07 09:41:09 michael Exp $ 
 | |
|    This file is part of the FPC documentation. 
 | |
|    Copyright (C) 1997, by Michael Van Canneyt 
 | |
|  
 | |
|    The FPC documentation is free text; you can redistribute it and/or 
 | |
|    modify it under the terms of the GNU Library General Public License as 
 | |
|    published by the Free Software Foundation; either version 2 of the 
 | |
|    License, or (at your option) any later version. 
 | |
|  
 | |
|    The FPC Documentation is distributed in the hope that it will be useful, 
 | |
|    but WITHOUT ANY WARRANTY; without even the implied warranty of 
 | |
|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
 | |
|    Library General Public License for more details. 
 | |
|  
 | |
|    You should have received a copy of the GNU Library General Public 
 | |
|    License along with the FPC documentation; see the file COPYING.LIB.  If not, 
 | |
|    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
 | |
|    Boston, MA 02111-1307, USA. 
 | |
|  -->
 | |
|   <package name="rtl">
 | |
|     <module name="system">
 | |
|       <short>The system unit</short>
 | |
|       <!-- \FPCexampledir{refex} -->
 | |
|       <descr>
 | |
|         <p>The system unit contains the standard supported functions of Free Pascal. It is the
 | |
| same for all platforms. Basically it is the same as the system unit provided
 | |
| with Borland or Turbo Pascal.
 | |
| </p>
 | |
|         <p>Functions are listed in alphabetical order. Arguments of functions or
 | |
| procedures that are optional are put between square brackets.
 | |
| </p>
 | |
|         <p>The pre-defined constants and variables are listed in the first section.
 | |
| The second section contains an overview of all functions, grouped by
 | |
| functionality, and the last section contains the supported functions
 | |
| and procedures.
 | |
| </p>
 | |
|       </descr>
 | |
|       <topic name="FileFunctions">
 | |
|         <short>File handling functions</short>
 | |
|         <descr>
 | |
|           <p>Functions concerning input and output from and to file.
 | |
| </p>
 | |
|           <table>
 | |
|             <th>
 | |
|               <td>Name</td>
 | |
|               <td>Description</td>
 | |
|             </th>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Append"/>
 | |
|               </td>
 | |
|               <td>Open a file in append mode</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Assign"/>
 | |
|               </td>
 | |
|               <td>Assign a name to a file</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Blockread"/>
 | |
|               </td>
 | |
|               <td>Read data from a file into memory</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Blockwrite"/>
 | |
|               </td>
 | |
|               <td>Write data from memory to a file</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Close"/>
 | |
|               </td>
 | |
|               <td>Close a file</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Eof"/>
 | |
|               </td>
 | |
|               <td>Check for end of file</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Eoln"/>
 | |
|               </td>
 | |
|               <td>Check for end of line</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Erase"/>
 | |
|               </td>
 | |
|               <td>Delete  file from disk</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Filepos"/>
 | |
|               </td>
 | |
|               <td>Position in file</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Filesize"/>
 | |
|               </td>
 | |
|               <td>Size of file</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Flush"/>
 | |
|               </td>
 | |
|               <td>Write file buffers to disk</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="IOresult"/>
 | |
|               </td>
 | |
|               <td>Return result of last file IO operation</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Read"/>
 | |
|               </td>
 | |
|               <td>Read from file into variable</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Readln"/>
 | |
|               </td>
 | |
|               <td>Read from file into variable and goto next line</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Rename"/>
 | |
|               </td>
 | |
|               <td>Rename file on disk</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Reset"/>
 | |
|               </td>
 | |
|               <td>Open file for reading</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Rewrite"/>
 | |
|               </td>
 | |
|               <td>Open file for writing</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Seek"/>
 | |
|               </td>
 | |
|               <td>Set file position</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SeekEof"/>
 | |
|               </td>
 | |
|               <td>Set file position to end of file</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SeekEoln"/>
 | |
|               </td>
 | |
|               <td>Set file position to end of line</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SetTextBuf"/>
 | |
|               </td>
 | |
|               <td>Set size of file buffer</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Truncate"/>
 | |
|               </td>
 | |
|               <td>Truncate the file at position</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Write"/>
 | |
|               </td>
 | |
|               <td>Write variable to file</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="WriteLn"/>
 | |
|               </td>
 | |
|               <td>Write variable to file and append newline</td>
 | |
|             </tr>
 | |
|           </table>
 | |
|         </descr>
 | |
|       </topic>
 | |
|       <topic name="MemoryFunctions">
 | |
|         <short>Memory management functions</short>
 | |
|         <descr>
 | |
|           <p>Functions concerning memory issues.
 | |
| </p>
 | |
|           <table>
 | |
|             <th>
 | |
|               <td>Name</td>
 | |
|               <td>Description</td>
 | |
|             </th>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Addr"/>
 | |
|               </td>
 | |
|               <td>Return address of variable</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Assigned"/>
 | |
|               </td>
 | |
|               <td>Check if a pointer is valid</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="CompareByte"/>
 | |
|               </td>
 | |
|               <td>Compare 2 memory buffers byte per byte</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="CompareChar"/>
 | |
|               </td>
 | |
|               <td>Compare 2 memory buffers byte per byte</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="CompareDWord"/>
 | |
|               </td>
 | |
|               <td>Compare 2 memory buffers byte per byte</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="CompareWord"/>
 | |
|               </td>
 | |
|               <td>Compare 2 memory buffers byte per byte</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="CSeg"/>
 | |
|               </td>
 | |
|               <td>Return code segment</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Dispose"/>
 | |
|               </td>
 | |
|               <td>Free dynamically allocated memory</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="DSeg"/>
 | |
|               </td>
 | |
|               <td>Return data segment</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="FillByte"/>
 | |
|               </td>
 | |
|               <td>Fill memory region with 8-bit pattern</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="FillChar"/>
 | |
|               </td>
 | |
|               <td>Fill memory region with certain character</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="FillDWord"/>
 | |
|               </td>
 | |
|               <td>Fill memory region with 32-bit pattern</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="FillQWord"/>
 | |
|               </td>
 | |
|               <td>Fill memory region with 64-bit pattern</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="FillWord"/>
 | |
|               </td>
 | |
|               <td>Fill memory region with 16-bit pattern</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Freemem"/>
 | |
|               </td>
 | |
|               <td>Release allocated memory</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Getmem"/>
 | |
|               </td>
 | |
|               <td>Allocate new memory</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="GetMemoryManager"/>
 | |
|               </td>
 | |
|               <td>Return current memory manager</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="High"/>
 | |
|               </td>
 | |
|               <td>Return highest index of open array or enumerated</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="IndexByte"/>
 | |
|               </td>
 | |
|               <td>Find byte-sized value in a memory range</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="IndexChar"/>
 | |
|               </td>
 | |
|               <td>Find char-sized value in a memory range</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="IndexDWord"/>
 | |
|               </td>
 | |
|               <td>Find DWord-sized (32-bit) value in a memory range</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="IndexQWord"/>
 | |
|               </td>
 | |
|               <td>Find QWord-sized value in a memory range</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="IndexWord"/>
 | |
|               </td>
 | |
|               <td>Find word-sized value in a memory range</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="IsMemoryManagerSet"/>
 | |
|               </td>
 | |
|               <td>Is the memory manager set</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Low"/>
 | |
|               </td>
 | |
|               <td>Return lowest index of open array or enumerated</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Move"/>
 | |
|               </td>
 | |
|               <td>Move data from one location in memory to another</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="MoveChar0">MoveChar0</link>
 | |
|               </td>
 | |
|               <td>Move data till first zero character</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="New"/>
 | |
|               </td>
 | |
|               <td>Dynamically allocate memory for variable</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Ofs"/>
 | |
|               </td>
 | |
|               <td>Return offset of variable</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Ptr"/>
 | |
|               </td>
 | |
|               <td>Combine segment and offset to pointer</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="ReAllocMem"/>
 | |
|               </td>
 | |
|               <td>Resize a memory block on the heap</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Seg"/>
 | |
|               </td>
 | |
|               <td>Return segment</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SetMemoryManager"/>
 | |
|               </td>
 | |
|               <td>Set a memory manager</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Sptr"/>
 | |
|               </td>
 | |
|               <td>Return current stack pointer</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SSeg"/>
 | |
|               </td>
 | |
|               <td>Return stack segment register value</td>
 | |
|             </tr>
 | |
|           </table>
 | |
|         </descr>
 | |
|       </topic>
 | |
|       <topic name="MathematicalFunctions">
 | |
|         <short>Mathematical routines</short>
 | |
|         <descr>
 | |
|           <p>Functions connected to calculating and coverting numbers.
 | |
| </p>
 | |
|           <table>
 | |
|             <th>
 | |
|               <td>Name</td>
 | |
|               <td>Description</td>
 | |
|             </th>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Abs"/>
 | |
|               </td>
 | |
|               <td>Calculate absolute value</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Arctan"/>
 | |
|               </td>
 | |
|               <td>Calculate inverse tangent</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Cos"/>
 | |
|               </td>
 | |
|               <td>Calculate cosine of angle</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Dec"/>
 | |
|               </td>
 | |
|               <td>Decrease value of variable</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Exp"/>
 | |
|               </td>
 | |
|               <td>Exponentiate</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Frac"/>
 | |
|               </td>
 | |
|               <td>Return fractional part of floating point value</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Hi"/>
 | |
|               </td>
 | |
|               <td>Return high byte/word of value</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Inc"/>
 | |
|               </td>
 | |
|               <td>Increase value of variable</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Int"/>
 | |
|               </td>
 | |
|               <td>Calculate integer part of floating point value</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Ln"/>
 | |
|               </td>
 | |
|               <td>Calculate logarithm</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Lo"/>
 | |
|               </td>
 | |
|               <td>Return low byte/word of value</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Odd"/>
 | |
|               </td>
 | |
|               <td>Is a value odd or even ? </td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Pi"/>
 | |
|               </td>
 | |
|               <td>Return the value of pi</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Power"/>
 | |
|               </td>
 | |
|               <td>Raise float to integer power</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Random"/>
 | |
|               </td>
 | |
|               <td>Generate random number</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Randomize"/>
 | |
|               </td>
 | |
|               <td>Initialize random number generator</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Round"/>
 | |
|               </td>
 | |
|               <td>Round floating point value to nearest integer number</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Sin"/>
 | |
|               </td>
 | |
|               <td>Calculate sine of angle</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Sqr"/>
 | |
|               </td>
 | |
|               <td>Calculate the square of a value</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Sqrt"/>
 | |
|               </td>
 | |
|               <td>Calculate the square root of a value</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Swap"/>
 | |
|               </td>
 | |
|               <td>Swap high and low bytes/words of a variable</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Trunc"/>
 | |
|               </td>
 | |
|               <td>Truncate a floating point value</td>
 | |
|             </tr>
 | |
|           </table>
 | |
|         </descr>
 | |
|       </topic>
 | |
|       <topic name="StringFunctions">
 | |
|         <short>String handling</short>
 | |
|         <descr>
 | |
|           <p>All things connected to string handling.
 | |
| </p>
 | |
|           <table>
 | |
|             <th>
 | |
|               <td>Name</td>
 | |
|               <td>Description</td>
 | |
|             </th>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="BinStr"/>
 | |
|               </td>
 | |
|               <td>Construct binary representation of integer</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Chr"/>
 | |
|               </td>
 | |
|               <td>Convert ASCII code to character</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Concat"/>
 | |
|               </td>
 | |
|               <td>Concatenate two strings</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Copy"/>
 | |
|               </td>
 | |
|               <td>Copy part of a string</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Delete"/>
 | |
|               </td>
 | |
|               <td>Delete part of a string</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="HexStr"/>
 | |
|               </td>
 | |
|               <td>Construct hexadecimal representation of integer</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Insert"/>
 | |
|               </td>
 | |
|               <td>Insert one string in another</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Length"/>
 | |
|               </td>
 | |
|               <td>Return length of string</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Lowercase"/>
 | |
|               </td>
 | |
|               <td>Convert string to all-lowercase</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="OctStr"/>
 | |
|               </td>
 | |
|               <td>Construct octal representation of integer</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Pos"/>
 | |
|               </td>
 | |
|               <td>Calculate position of one string in another</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SetLength"/>
 | |
|               </td>
 | |
|               <td>Set length of a string</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SetString"/>
 | |
|               </td>
 | |
|               <td>Set contents and length of a string</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Str"/>
 | |
|               </td>
 | |
|               <td>Convert number to string representation</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="StringOfChar"/>
 | |
|               </td>
 | |
|               <td>Create string consisting of a number of characters</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Upcase"/>
 | |
|               </td>
 | |
|               <td>Convert string to all-uppercase</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Val"/>
 | |
|               </td>
 | |
|               <td>Convert string to number</td>
 | |
|             </tr>
 | |
|           </table>
 | |
|         </descr>
 | |
|       </topic>
 | |
|       <topic name="OSfunctions">
 | |
|         <short>Operating System functions</short>
 | |
|         <descr>
 | |
|           <p>Functions that are connected to the operating system.
 | |
| </p>
 | |
|           <table>
 | |
|             <th>
 | |
|               <td>Name</td>
 | |
|               <td>Description</td>
 | |
|             </th>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Chdir"/>
 | |
|               </td>
 | |
|               <td>Change working directory</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Getdir"/>
 | |
|               </td>
 | |
|               <td>Return current working directory</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Halt"/>
 | |
|               </td>
 | |
|               <td>Halt program execution</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Paramcount"/>
 | |
|               </td>
 | |
|               <td>Number of parameters with which program was called</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Paramstr"/>
 | |
|               </td>
 | |
|               <td>Retrieve parameters with which program was called</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Mkdir"/>
 | |
|               </td>
 | |
|               <td>Make a directory</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Rmdir"/>
 | |
|               </td>
 | |
|               <td>Remove a directory</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Runerror"/>
 | |
|               </td>
 | |
|               <td>Abort program execution with error condition</td>
 | |
|             </tr>
 | |
|           </table>
 | |
|         </descr>
 | |
|       </topic>
 | |
|       <topic name="MiscellaneousFunctions">
 | |
|         <short>Miscellaneous functions</short>
 | |
|         <descr>
 | |
|           <p>Functions that do not belong in one of the other categories.
 | |
| </p>
 | |
|           <table>
 | |
|             <th>
 | |
|               <td>Name</td>
 | |
|               <td>Description</td>
 | |
|             </th>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Assert"/>
 | |
|               </td>
 | |
|               <td>Conditionally abort program with error</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Break"/>
 | |
|               </td>
 | |
|               <td>Abort current loop</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Continue"/>
 | |
|               </td>
 | |
|               <td>Next cycle in current loop</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Exclude"/>
 | |
|               </td>
 | |
|               <td>Exclude an element from a set</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Exit"/>
 | |
|               </td>
 | |
|               <td>Exit current function or procedure</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Include"/>
 | |
|               </td>
 | |
|               <td>Include an element into a set</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="LongJmp"/>
 | |
|               </td>
 | |
|               <td>Jump to execution point</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Ord"/>
 | |
|               </td>
 | |
|               <td>Return ordinal value of enumerated type</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Pred"/>
 | |
|               </td>
 | |
|               <td>Return previous value of ordinal type</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SetJmp"/>
 | |
|               </td>
 | |
|               <td>Mark execution point for jump</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="SizeOf"/>
 | |
|               </td>
 | |
|               <td>Return size of variable or type</td>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <td>
 | |
|                 <link id="Succ"/>
 | |
|               </td>
 | |
|               <td>Return next value of ordinal type</td>
 | |
|             </tr>
 | |
|           </table>
 | |
|         </descr>
 | |
|       </topic>
 | |
|       <element name="Abs">
 | |
|         <short>Calculate absolute value</short>
 | |
|         <descr>
 | |
|           <var>Abs</var> returns the absolute value of a variable. The result of the
 | |
| function has the same type as its argument, which can be any numerical
 | |
| type.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Round"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex1"/>
 | |
|       </element>
 | |
|       <element name="Addr">
 | |
|         <short>Return address of a variable</short>
 | |
|         <descr>
 | |
|           <var>Addr</var> returns a pointer to its argument, which can be any type, or a
 | |
| function or procedure name. The returned pointer isn't typed.
 | |
| The same result can be obtained by the <var>@</var> operator, which can return a
 | |
| typed pointer (see the programmer's guide).
 | |
| </descr>
 | |
|         <errors>None
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SizeOf"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex2"/>
 | |
|       </element>
 | |
|       <element name="Append">
 | |
|         <short>Open a file in append mode</short>
 | |
|         <descr>
 | |
|           <var>Append</var> opens an existing file in append mode. Any data written to
 | |
| <var>F</var> will be appended to the file. Only text files can be opened in
 | |
| append mode. After a call to <var>Append</var>, the file <var>F</var> becomes
 | |
| write-only.
 | |
| 
 | |
| File sharing is not taken into account when calling <var>Append</var>.
 | |
| 
 | |
| </descr>
 | |
|         <errors>If the file doesn't exist when appending, a run-time error will be generated.
 | |
| This behaviour has changed on Windows and Linux platforms, where in versions
 | |
| prior to 1.0.6, the file would be created in append mode.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Rewrite"/>
 | |
|           <link id="Close"/>
 | |
|           <link id="Reset"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex3"/>
 | |
|       </element>
 | |
|       <element name="Arctan">
 | |
|         <short>Calculate inverse tangent</short>
 | |
|         <descr>
 | |
|           <var>Arctan</var> returns the Arctangent of <var>X</var>, which can be any Real type.
 | |
| The resulting angle is in radial units.
 | |
| </descr>
 | |
|         <errors>None
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Sin"/>
 | |
|           <link id="Cos"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex4"/>
 | |
|       </element>
 | |
|       <element name="Assert">
 | |
|         <short>Check validity of a given condition.</short>
 | |
|         <descr>With assertions on, <var>Assert</var> tests if <var>expr</var> is 
 | |
| false, and if so, aborts the application with a Runtime error 
 | |
| 227 and an optional error message in <var>msg</var>.
 | |
| If <var>expr</var> is true, program execution continues normally. 
 | |
| 
 | |
| If assertions are not enabled at compile time, this routine does 
 | |
| nothing, and no code is generated for the <var>Assert</var> call. 
 | |
| 
 | |
| Enabling and disabling assertions at compile time is done via
 | |
| the <var>\$C</var> or <var>\$ASSERTIONS</var> compiler switches. These are
 | |
| global switches.
 | |
| 
 | |
| The default behavior of the assert call can be changed by 
 | |
| setting a new handler in the <var>AssertErrorProc</var> variable.
 | |
| Sysutils overrides the default handler to raise a <var>EAssertionFailed</var> 
 | |
| exception.
 | |
| 
 | |
| 
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Halt"/>
 | |
|           <link id="Runerror"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Assign">
 | |
|         <short>Assign a name to a file</short>
 | |
|         <descr>
 | |
|           <var>Assign</var> assigns a name to <var>F</var>, which can be any file type.
 | |
| This call doesn't open the file, it just assigns a name to a file variable,
 | |
| and marks the file as closed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Reset"/>
 | |
|           <link id="Rewrite"/>
 | |
|           <link id="Append"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex5"/>
 | |
|       </element>
 | |
|       <element name="Assigned">
 | |
|         <short>Check if a pointer is valid</short>
 | |
|         <descr>
 | |
|           <var>Assigned</var> returns <var>True</var> if <var>P</var> is non-nil
 | |
| and retuns <var>False</var> of <var>P</var> is nil.
 | |
| The main use of Assigned is that Procedural variables, method variables and
 | |
| class-type variables also can be passed to <var>Assigned</var>.
 | |
| </descr>
 | |
|         <errors>None
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="New"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex96"/>
 | |
|       </element>
 | |
|       <element name="BinStr">
 | |
|         <short>Convert integer to string with binary representation.</short>
 | |
|         <descr>
 | |
|           <var>BinStr</var> returns a string with the binary representation
 | |
| of <var>Value</var>. The string has at most <var>cnt</var> characters.
 | |
| (i.e. only the <var>cnt</var> rightmost bits are taken into account)
 | |
| To have a complete representation of any longint-type value, 32
 | |
| bits are needed, i.e. <var>cnt=32</var>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Str"/>
 | |
|           <link id="Val"/>
 | |
|           <link id="HexStr"/>
 | |
|           <link id="OctStr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex82"/>
 | |
|       </element>
 | |
|       <element name="Blockread">
 | |
|         <short>Read data from an untyped file into memory</short>
 | |
|         <descr>
 | |
|           <var>Blockread</var> reads <var>count</var> or less records from file <var>F</var>. A
 | |
| record is a block of bytes with size specified by the <link id="Rewrite"/> or
 | |
| <link id="Reset"/> statement.
 | |
| 
 | |
| The result is placed in <var>Buffer</var>, which must contain enough room for
 | |
| <var>Count</var> records. The function cannot read partial records.
 | |
| If <var>Result</var> is specified, it contains the number of records actually
 | |
| read. If <var>Result</var> isn't specified, and less than <var>Count</var> records were
 | |
| read, a run-time error is generated. This behavior can be controlled by the
 | |
| <var>{$I}</var> switch.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Blockwrite"/>
 | |
|           <link id="Close"/>
 | |
|           <link id="Reset"/>
 | |
|           <link id="Assign"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex6"/>
 | |
|       </element>
 | |
|       <element name="Blockwrite">
 | |
|         <short>Write data from memory to an untyped file</short>
 | |
|         <descr>
 | |
|           <var>BlockWrite</var> writes <var>count</var> records from <var>buffer</var> to the file
 | |
|  <var>F</var>.A record is a block of bytes with size specified by the <link id="Rewrite"/> or
 | |
| <link id="Reset"/> statement.
 | |
| 
 | |
| If the records couldn't be written to disk, a run-time error is generated.
 | |
| This behavior can be controlled by the <var>{$I}</var> switch.
 | |
| 
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Blockread"/>
 | |
|           <link id="Close"/>
 | |
|           <link id="Rewrite"/>
 | |
|           <link id="Assign"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
| 
 | |
| For the example, see <link id="Blockread"/>.
 | |
| 
 | |
| <element name="Break">
 | |
|         <short>Exit current loop construct.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Break</var> jumps to the statement following the end of the current
 | |
| repetitive statement. The code between the <var>Break</var> call and
 | |
| the end of the repetitive statement is skipped.
 | |
| The condition of the repetitive statement is NOT evaluated.
 | |
| </p>
 | |
|           <p>This can be used with <var>For</var>, var{repeat} and <var>While</var> statements.
 | |
| </p>
 | |
|           <p>Note that while this is a procedure, <var>Break</var> is a reserved word
 | |
| and hence cannot be redefined.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Continue"/>
 | |
|           <link id="Exit"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex87"/>
 | |
|       </element>
 | |
|       <element name="Chdir">
 | |
|         <short>Change current working directory.</short>
 | |
|         <descr>
 | |
|           <var>Chdir</var> changes the working directory of the process to <var>S</var>.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Mkdir"/>
 | |
|           <link id="Rmdir"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex7"/>
 | |
|       </element>
 | |
|       <element name="Chr">
 | |
|         <short>Convert byte value to character value</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Chr</var> returns the character which has ASCII value <var>X</var>.
 | |
| </p>
 | |
|           <p>Historical note:
 | |
| </p>
 | |
|           <p>Originally, Pascal did not have typecasts and chr was a necessary function in
 | |
| order to do certain operations on ASCII values of characters. With the arrival of
 | |
| typecasting a generic approach became possible, making chr mostly obselete.
 | |
| However, chr is not considered deprecated and remains in wide use today.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Ord"/>
 | |
|           <link id="Str"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex8"/>
 | |
|       </element>
 | |
|       <element name="Close">
 | |
|         <short>Close a file</short>
 | |
|         <descr>
 | |
|           <var>Close</var> flushes the buffer of the file <var>F</var> and closes <var>F</var>.
 | |
| After a call to <var>Close</var>, data can no longer be read from or written to
 | |
| <var>F</var>.
 | |
| To reopen a file closed with <var>Close</var>, it isn't necessary to assign the
 | |
| file again. A call to <link id="Reset"/> or <link id="Rewrite"/> is sufficient.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Assign"/>
 | |
|           <link id="Reset"/>
 | |
|           <link id="Rewrite"/>
 | |
|           <link id="Flush"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex9"/>
 | |
|       </element>
 | |
|       <element name="CompareByte">
 | |
|         <short>Compare 2 memory buffers byte per byte</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>CompareByte</var> compares two memory regions <var>buf1</var>,<var>buf2</var> on a
 | |
| byte-per-byte basis for a total of <var>len</var> bytes.
 | |
| </p>
 | |
|           <p>The function returns one of the following values:</p>
 | |
|           <dl>
 | |
|             <dt>less than 0</dt>
 | |
|             <dd>if <var>buf1</var> and <var>buf2</var> contain different bytes
 | |
| in the first <var>len</var> bytes, and the first such byte is smaller in <var>buf1</var>
 | |
| than the byte at the same position in <var>buf2</var>.</dd>
 | |
|             <dt>0</dt>
 | |
|             <dd>if the first <var>len</var> bytes in <var>buf1</var> and <var>buf2</var> are
 | |
| equal.</dd>
 | |
|             <dt>greater than 0</dt>
 | |
|             <dd>if <var>buf1</var> and <var>buf2</var> contain different bytes
 | |
| in the first <var>len</var> bytes, and the first such byte is larger in <var>buf1</var>
 | |
| than the byte at the same position in <var>buf2</var>.</dd>
 | |
|           </dl>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="CompareChar"/>
 | |
|           <link id="CompareChar0"/>
 | |
|           <link id="CompareWord"/>
 | |
|           <link id="CompareDWord"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex99"/>
 | |
|       </element>
 | |
|       <element name="CompareChar">
 | |
|         <short>ompare 2 memory buffers character per character</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>CompareChar</var> compares two memory regions <var>buf1</var>,<var>buf2</var> on a
 | |
| character-per-character basis for a total of <var>len</var> characters.
 | |
| </p>
 | |
|           <p>The <var>CompareChar0</var> variant compares <var>len</var> bytes, or until
 | |
| a zero character is found.
 | |
| </p>
 | |
|           <p>The function returns one of the following values:
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt>-1</dt>
 | |
|             <dd>if <var>buf1</var> and <var>buf2</var> contain different characters
 | |
| in the first <var>len</var> positions, and the first such character is smaller in <var>buf1</var>
 | |
| than the character at the same position in <var>buf2</var>.
 | |
| </dd>
 | |
|             <dt>0</dt>
 | |
|             <dd>if the first <var>len</var> characters in <var>buf1</var> and <var>buf2</var> are
 | |
| equal.
 | |
| </dd>
 | |
|             <dt>1</dt>
 | |
|             <dd>if <var>buf1</var> and <var>buf2</var> contain different characters
 | |
| in the first <var>len</var> positions, and the first such character is larger in
 | |
| <var>buf1</var> than the character at the same position in <var>buf2</var>.
 | |
| </dd>
 | |
|           </dl>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="CompareByte"/>
 | |
|           <link id="CompareChar0"/>
 | |
|           <link id="CompareWord"/>
 | |
|           <link id="CompareDWord"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex100"/>
 | |
|       </element>
 | |
|       <element name="CompareDWord">
 | |
|         <short>Compare 2 memory buffers DWord per DWord</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>CompareDWord</var> compares two memory regions <var>buf1</var>,<var>buf2</var> on a
 | |
| DWord-per-DWord basis for a total of <var>len</var> DWords. (A DWord is 4 bytes).
 | |
| </p>
 | |
|           <p>The function returns one of the following values:
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt>-1</dt>
 | |
|             <dd>if <var>buf1</var> and <var>buf2</var> contain different DWords
 | |
| in the first <var>len</var> DWords, and the first such DWord is smaller in <var>buf1</var>
 | |
| than the DWord at the same position in <var>buf2</var>.
 | |
| </dd>
 | |
|             <dt>0</dt>
 | |
|             <dd>if the first <var>len</var> DWords in <var>buf1</var> and <var>buf2</var> are
 | |
| equal.
 | |
| </dd>
 | |
|             <dt>1</dt>
 | |
|             <dd>if <var>buf1</var> and <var>buf2</var> contain different DWords
 | |
| in the first <var>len</var> DWords, and the first such DWord is larger in <var>buf1</var>
 | |
| than the DWord at the same position in <var>buf2</var>.
 | |
| </dd>
 | |
|           </dl>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="CompareChar"/>
 | |
|           <link id="CompareByte"/>
 | |
|           <link id="CompareWord"/>,
 | |
| </seealso>
 | |
|         <example file="refex/ex101"/>
 | |
|       </element>
 | |
|       <element name="CompareWord">
 | |
|         <short>Compare 2 memory buffers word per word</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>CompareWord</var> compares two memory regions <var>buf1</var>,<var>buf2</var> on a
 | |
| Word-per-Word basis for a total of <var>len</var> Words. (A Word is 2 bytes).
 | |
| </p>
 | |
|           <p>The function returns one of the following values:
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt>-1</dt>
 | |
|             <dd>if <var>buf1</var> and <var>buf2</var> contain different Words
 | |
| in the first <var>len</var> Words, and the first such Word is smaller in <var>buf1</var>
 | |
| than the Word at the same position in <var>buf2</var>.
 | |
| </dd>
 | |
|             <dt>0</dt>
 | |
|             <dd>if the first <var>len</var> Words in <var>buf1</var> and <var>buf2</var> are
 | |
| equal.
 | |
| </dd>
 | |
|             <dt>1</dt>
 | |
|             <dd>if <var>buf1</var> and <var>buf2</var> contain different Words
 | |
| in the first <var>len</var> Words, and the first such Word is larger in <var>buf1</var>
 | |
| than the Word at the same position in <var>buf2</var>.
 | |
| </dd>
 | |
|           </dl>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="CompareChar"/>
 | |
|           <link id="CompareByte"/>
 | |
|           <link id="CompareDWord"/>,
 | |
| </seealso>
 | |
|         <example file="refex/ex102"/>
 | |
|       </element>
 | |
|       <element name="Concat">
 | |
|         <short>Append one string to another.</short>
 | |
|         <descr>
 | |
|           <var>Concat</var> concatenates the strings <var>S1</var>,<var>S2</var> etc. to one long
 | |
| string. The resulting string is truncated at a length of 255 bytes.
 | |
| The same operation can be performed with the <var>+</var> operation.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Copy"/>
 | |
|           <link id="Delete"/>
 | |
|           <link id="Insert"/>
 | |
|           <link id="Pos"/>
 | |
|           <link id="Length"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex10"/>
 | |
|       </element>
 | |
|       <element name="Continue">
 | |
|         <short>Continue with next loop cycle.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Continue</var> jumps to the end of the current repetitive statement.
 | |
| The code between the <var>Continue</var> call and the end of the repetitive
 | |
| statement is skipped. The condition of the repetitive statement is then
 | |
| checked again.
 | |
| </p>
 | |
|           <p>This can be used with <var>For</var>, <var>repeat</var> and <var>While</var> statements.
 | |
| </p>
 | |
|           <p>Note that while this is a procedure, <var>Continue</var> is a reserved word
 | |
| and hence cannot be redefined.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Break"/>
 | |
|           <link id="Exit"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex86"/>
 | |
|       </element>
 | |
|       <element name="Copy">
 | |
|         <short>Copy part of a string.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Copy</var> returns a string which is a copy if the <var>Count</var> characters
 | |
| in <var>S</var>, starting at position <var>Index</var>. If <var>Count</var> is larger than
 | |
| the length of the string <var>S</var>, the result is truncated.
 | |
| If <var>Index</var> is larger than the length of the string <var>S</var>, then an
 | |
| empty string is returned. <var>Index</var> is 1-based.
 | |
| </p>
 | |
|           <p>For dynamical arrays, Copy returns a new dynamical array of the same type as
 | |
| the original one, and copies <var>Count</var> elements from the old array,
 | |
| starting at position <var>Index</var>. 
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Delete"/>
 | |
|           <link id="Insert"/>
 | |
|           <link id="Pos"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex11"/>
 | |
|       </element>
 | |
|       <element name="Cos">
 | |
|         <short>Calculate cosine of angle</short>
 | |
|         <descr>
 | |
|           <var>Cos</var> returns the cosine of <var>X</var>, where X is an angle, in radians.
 | |
| 
 | |
| If the absolute value of the argument is larger than 2^63, then the
 | |
| result is undefined.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Arctan"/>
 | |
|           <link id="Sin"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex12"/>
 | |
|       </element>
 | |
|       <element name="CSeg">
 | |
|         <short>Return code segment</short>
 | |
|         <descr>
 | |
|           <var>CSeg</var> returns the Code segment register. In Free Pascal, it returns always a
 | |
| zero, since Free Pascal is a 32 bit compiler.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="DSeg"/>
 | |
|           <link id="Seg"/>
 | |
|           <link id="Ofs"/>
 | |
|           <link id="Ptr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex13"/>
 | |
|       </element>
 | |
|       <element name="Dec">
 | |
|         <short>Decrease value of variable</short>
 | |
|         <descr>
 | |
|           <var>Dec</var> decreases the value of <var>X</var> with <var>Decrement</var>.
 | |
| If <var>Decrement</var> isn't specified, then 1 is taken as a default.
 | |
| </descr>
 | |
|         <errors>A range check can occur, or an underflow error, if an attempt it made
 | |
| to decrease <var>X</var> below its minimum value.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Inc"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex14"/>
 | |
|       </element>
 | |
|       <element name="Delete">
 | |
|         <short>Delete part of a string.</short>
 | |
|         <descr>
 | |
|           <var>Delete</var> removes <var>Count</var> characters from string <var>S</var>, starting
 | |
| at position <var>Index</var>. All characters after the delected characters are
 | |
| shifted <var>Count</var> positions to the left, and the length of the string is adjusted.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Copy"/>
 | |
|           <link id="Pos"/>
 | |
|           <link id="Insert"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex15"/>
 | |
|       </element>
 | |
|       <element name="Dispose">
 | |
|         <short>Free dynamically allocated memory</short>
 | |
|         <descr>
 | |
|           <p>The first form <var>Dispose</var> releases the memory allocated with a call to
 | |
| <link id="New"/>. The pointer <var>P</var> must be typed. The released memory is
 | |
| returned to the heap.
 | |
| </p>
 | |
|           <p>The second form of <var>Dispose</var> accepts as a first parameter a pointer
 | |
| to an object type, and as a second parameter the name of a destructor
 | |
| of this object. The destructor will be called, and the memory allocated
 | |
| for the object will be freed.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>An runtime error will occur if the pointer doesn't point to a location in the
 | |
| heap.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="New"/>
 | |
|           <link id="Getmem"/>
 | |
|           <link id="Freemem"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex16"/>
 | |
|       </element>
 | |
|       <element name="DSeg">
 | |
|         <short>Return data segment</short>
 | |
|         <descr>
 | |
|           <var>DSeg</var> returns the data segment register. In Free Pascal, it returns always a
 | |
| zero, since Free Pascal is a 32 bit compiler.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="CSeg"/>
 | |
|           <link id="Seg"/>
 | |
|           <link id="Ofs"/>
 | |
|           <link id="Ptr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex17"/>
 | |
|       </element>
 | |
|       <element name="Eof">
 | |
|         <short>Check for end of file</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Eof</var> returns <var>True</var> if the file-pointer has reached the end of the
 | |
| file, or if the file is empty. In all other cases <var>Eof</var> returns
 | |
| <var>False</var>.
 | |
| If no file <var>F</var> is specified, standard input is assumed.
 | |
| </p>
 | |
|           <p>Note that calling this function may cause your program to wait: to determine
 | |
| whether you are at EOF, it is necessary to read data. If the file descriptor
 | |
| is not a real file (for instance for standard input or sockets) , then this 
 | |
| call may seem to hang the program while it is waiting for data to appear or
 | |
| for the file descriptor to be closed.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Eoln"/>
 | |
|           <link id="Assign"/>
 | |
|           <link id="Reset"/>
 | |
|           <link id="Rewrite"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex18"/>
 | |
|       </element>
 | |
|       <element name="Eoln">
 | |
|         <short>Check for end of line</short>
 | |
|         <descr>
 | |
|           <var>Eof</var> returns <var>True</var> if the file pointer has reached the end of a
 | |
| line, which is demarcated by a line-feed character (ASCII value 10), or if
 | |
| the end of the file is reached.
 | |
| In all other cases <var>Eof</var> returns <var>False</var>.
 | |
| If no file <var>F</var> is specified, standard input is assumed.
 | |
| It can only be used on files of type <var>Text</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Eof"/>
 | |
|           <link id="Assign"/>
 | |
|           <link id="Reset"/>
 | |
|           <link id="Rewrite"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex19"/>
 | |
|       </element>
 | |
|       <element name="Erase">
 | |
|         <short>Delete a file from disk</short>
 | |
|         <descr>
 | |
|           <var>Erase</var> removes an unopened file from disk. The file should be
 | |
| assigned with <var>Assign</var>, but not opened with <var>Reset</var> or <var>Rewrite</var>
 | |
|         </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Assign"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex20"/>
 | |
|       </element>
 | |
|       <element name="Exclude">
 | |
|         <short>Exlude element from a set if it is present.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Exclude</var> removes <var>E</var> from the set <var>S</var> if it is
 | |
| included inthe set. E should be of the same type as the base type
 | |
| of the set <var>S</var>.
 | |
| </p>
 | |
|           <p>Thus, the two following statements do the same thing:
 | |
| </p>
 | |
|           <code>S:=S-[E];
 | |
| Exclude(S,E);
 | |
| </code>
 | |
|         </descr>
 | |
|         <errors>If the type of the element <var>E</var> is not equal to the base type of the
 | |
| set <var>S</var>, the compiler will generate an error.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Include"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex111"/>
 | |
|       </element>
 | |
|       <element name="Exit">
 | |
|         <short>Exit current subroutine.</short>
 | |
|         <descr>
 | |
|           <var>Exit</var> exits the current subroutine, and returns control to the calling
 | |
| routine. If invoked in the main program routine, exit stops the program.
 | |
| The optional argument <var>X</var> allows to specify a return value, in the case
 | |
| <var>Exit</var> is invoked in a function. The function result will then be
 | |
| equal to <var>X</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Halt"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex21"/>
 | |
|       </element>
 | |
|       <element name="Exp">
 | |
|         <short>Exponentiate</short>
 | |
|         <descr>
 | |
|           <var>Exp</var> returns the exponent of <var>X</var>, i.e. the number <var>e</var> to the
 | |
| power <var>X</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Ln"/>
 | |
|           <link id="Power"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex22"/>
 | |
|       </element>
 | |
|       <element name="Filepos">
 | |
|         <short>Get position in file</short>
 | |
|         <descr>
 | |
|           <var>Filepos</var> returns the current record position of the file-pointer in file
 | |
| <var>F</var>. It cannot be invoked with a file of type <var>Text</var>. A compiler error
 | |
| will be generated if this is attempted.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Filesize"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex23"/>
 | |
|       </element>
 | |
|       <element name="Filesize">
 | |
|         <short>Size of file</short>
 | |
|         <descr>
 | |
|           <var>Filesize</var> returns the total number of records in file <var>F</var>.
 | |
| It cannot be invoked with a file of type <var>Text</var>. (under linux and unix, this
 | |
| also means that it cannot be invoked on pipes).
 | |
| If <var>F</var> is empty, 0 is returned.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Filepos"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex24"/>
 | |
|       </element>
 | |
|       <element name="FillByte">
 | |
|         <short>Fill memory region with 8-bit pattern</short>
 | |
|         <descr>
 | |
|           <var>FillByte</var> fills the memory starting at <var>X</var> with <var>Count</var> bytes
 | |
| with value equal to <var>Value</var>.
 | |
| 
 | |
| This is useful for quickly zeroing out a memory location. When the size of
 | |
| the memory location to be filled out is a multiple of 2 bytes, it is better
 | |
|  to use <link id="Fillword"/>, and if it is a multiple of 4 bytes it is better
 | |
| to use <link id="FillDWord"/>, these routines are optimized for their respective sizes.
 | |
| 
 | |
| </descr>
 | |
|         <errors>No checking on the size of <var>X</var> is done.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Fillchar"/>
 | |
|           <link id="FillDWord"/>
 | |
|           <link id="Fillword"/>
 | |
|           <link id="Move"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex103"/>
 | |
|       </element>
 | |
|       <element name="Fillchar">
 | |
|         <short>Fill memory region with certain character</short>
 | |
|         <descr>
 | |
|           <var>Fillchar</var> fills the memory starting at <var>X</var> with <var>Count</var> bytes
 | |
| or characters with value equal to <var>Value</var>.
 | |
| 
 | |
| </descr>
 | |
|         <errors>No checking on the size of <var>X</var> is done.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Fillword"/>
 | |
|           <link id="Move"/>
 | |
|           <link id="FillByte"/>
 | |
|           <link id="FillDWord"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex25"/>
 | |
|       </element>
 | |
|       <element name="FillDWord">
 | |
|         <short>Fill memory region with 32-bit pattern</short>
 | |
|         <descr>
 | |
|           <var>Fillword</var> fills the memory starting at <var>X</var> with <var>Count</var> DWords
 | |
| with value equal to <var>Value</var>. A DWord is 4 bytes in size.
 | |
| 
 | |
| </descr>
 | |
|         <errors>No checking on the size of <var>X</var> is done.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="FillByte"/>
 | |
|           <link id="Fillchar"/>
 | |
|           <link id="Fillword"/>
 | |
|           <link id="Move"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex104"/>
 | |
|       </element>
 | |
|       <element name="Fillword">
 | |
|         <short>Fill memory region with 16-bit pattern</short>
 | |
|         <descr>
 | |
|           <var>Fillword</var> fills the memory starting at <var>X</var> with <var>Count</var> words
 | |
| with value equal to <var>Value</var>. A word is 2 bytes in size.
 | |
| </descr>
 | |
|         <errors>No checking on the size of <var>X</var> is done.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Fillchar"/>
 | |
|           <link id="Move"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex76"/>
 | |
|       </element>
 | |
|       <element name="Flush">
 | |
|         <short>Write file buffers to disk</short>
 | |
|         <descr>
 | |
|           <var>Flush</var> empties the internal buffer of an opened file <var>F</var> and writes the
 | |
| contents to disk. The file is \textit{not} closed as a result of this call.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Close"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex26"/>
 | |
|       </element>
 | |
|       <element name="Frac">
 | |
|         <short>Return fractional part of floating point value.</short>
 | |
|         <descr>
 | |
|           <var>Frac</var> returns the non-integer part of <var>X</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Round"/>
 | |
|           <link id="Int"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex27"/>
 | |
|       </element>
 | |
|       <element name="Freemem">
 | |
|         <short>Release allocated memory</short>
 | |
|         <descr>
 | |
|           <var>Freemem</var> releases the memory occupied by the pointer <var>P</var>, of size
 | |
| <var>Count</var> (in bytes), and returns it to the heap. <var>P</var> should point to the memory
 | |
| allocated to a dynamic variable.
 | |
| </descr>
 | |
|         <errors>An error will occur when <var>P</var> doesn't point to the heap.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Getmem"/>
 | |
|           <link id="New"/>
 | |
|           <link id="Dispose"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex28"/>
 | |
|       </element>
 | |
|       <element name="Getdir">
 | |
|         <short>Return the current directory</short>
 | |
|         <descr>
 | |
|           <var>Getdir</var> returns in <var>dir</var> the current directory on the drive
 | |
| <var>drivenr</var>, where {drivenr} is 1 for the first floppy drive, 3 for the
 | |
| first hard disk etc. A value of 0 returns the directory on the current disk.
 | |
| On linux and unix systems, <var>drivenr</var> is ignored, as there is only one
 | |
| directory tree.
 | |
| </descr>
 | |
|         <errors>An error is returned under dos, if the drive requested isn't ready.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Chdir"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex29"/>
 | |
|       </element>
 | |
|       <element name="Getmem">
 | |
|         <short>Allocate new memory on the heap</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Getmem</var> reserves <var>Size</var> bytes memory on the heap, and returns a
 | |
| pointer to this memory in <var>p</var>. If no more memory is available, nil is
 | |
| returned.
 | |
| </p>
 | |
|           <p>For an example, see <link id="Freemem"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Freemem"/>
 | |
|           <link id="Dispose"/>
 | |
|           <link id="New"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="GetMemoryManager">
 | |
|         <short>Return current memory manager</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>GetMemoryManager</var> stores the current Memory Manager record in
 | |
| <var>MemMgr</var>.
 | |
| </p>
 | |
|           <p>For an example, see the programmer's guide.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SetMemoryManager"/>
 | |
|           <link id="IsMemoryManagerSet"/>.
 | |
| </seealso>
 | |
|       </element>
 | |
|       <element name="Halt">
 | |
|         <short>Stop program execution.</short>
 | |
|         <descr>
 | |
|           <var>Halt</var> stops program execution and returns control to the calling
 | |
| program. The optional argument <var>Errnum</var> specifies an exit value. If
 | |
| omitted, zero is returned.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Exit"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex30"/>
 | |
|       </element>
 | |
|       <element name="HexStr">
 | |
|         <short>Convert integer value to string with hexadecimal representation.</short>
 | |
|         <descr>
 | |
|           <var>HexStr</var> returns a string with the hexadecimal representation
 | |
| of <var>Value</var>. The string has exactly <var>cnt</var> charaters.
 | |
|  (i.e. only the <var>cnt</var> rightmost nibbles are taken into account)
 | |
| To have a complete representation of a Longint-type value, 8
 | |
| nibbles are needed, i.e. <var>cnt=8</var>.
 | |
| 
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Str"/>
 | |
|           <link id="Val"/>
 | |
|           <link id="BinStr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex81"/>
 | |
|       </element>
 | |
|       <element name="Hi">
 | |
|         <short>Return high byte/word of value.</short>
 | |
|         <descr>
 | |
|           <var>Hi</var> returns the high byte or word from <var>X</var>, depending on the size
 | |
| of X. If the size of X is 4, then the high word is returned. If the size is
 | |
| 2 then the high byte is returned.
 | |
| <var>Hi</var> cannot be invoked on types of size 1, such as byte or char.
 | |
| </descr>
 | |
|         <errors>None
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Lo"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex31"/>
 | |
|       </element>
 | |
|       <element name="High">
 | |
|         <short>Return highest index of open array or enumerated</short>
 | |
|         <descr>
 | |
|           <p>The return value of <var>High</var> depends on it's argument:
 | |
| </p>
 | |
|           <ol>
 | |
|             <li>If the argument is an ordinal type, <var>High</var> returns the highest
 | |
|  value in the range of the given ordinal type.
 | |
| </li>
 | |
|             <li>If the argument is an array type or an array type variable then
 | |
| <var>High</var> returns the highest possible value of it's index.
 | |
| </li>
 | |
|             <li>If the argument is an open array identifier in a function or
 | |
| procedure, then <var>High</var> returns the highest index of the array, as if the
 | |
| array has a zero-based index.
 | |
| </li>
 | |
|             <li>If the argument is a set type then it returns the highest value of
 | |
| the underlying ordinal type.
 | |
| </li>
 | |
|           </ol>
 | |
|           <p>The return type is always the same type as the type of the argument
 | |
| (This can lead to some nasty surprises !).
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Low"/>
 | |
|           <link id="Ord"/>
 | |
|           <link id="Pred"/>
 | |
|           <link id="Succ"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex80"/>
 | |
|       </element>
 | |
|       <element name="Inc">
 | |
|         <short>Increase value of integer variable</short>
 | |
|         <descr>
 | |
|           <var>Inc</var> increases the value of <var>X</var> with <var>Increment</var>.
 | |
| If <var>Increment</var> isn't specified, then 1 is taken as a default.
 | |
| </descr>
 | |
|         <errors>If range checking is on, then A range check can occur, or an overflow
 | |
| error, when an attempt is made to increase <var>X</var> over its maximum value.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Dec"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex32"/>
 | |
|       </element>
 | |
|       <element name="Include">
 | |
|         <short>Include element in set if it was not yet present.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Include</var> includes <var>E</var> in the set <var>S</var> if it is
 | |
| not yet part of the set. E should be of the same type as the base type
 | |
| of the set <var>S</var>.
 | |
| </p>
 | |
|           <p>Thus, the two following statements do the same thing:
 | |
| </p>
 | |
|           <code>S:=S+[E];
 | |
| Include(S,E);
 | |
| </code>
 | |
|           <p>For an example, see <link id="Exclude"/>
 | |
|           </p>
 | |
|         </descr>
 | |
|         <errors>If the type of the element <var>E</var> is not equal to the base type of the
 | |
| set <var>S</var>, the compiler will generate an error.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Exclude"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="IndexByte">
 | |
|         <short>Search for a byte in a memory range.</short>
 | |
|         <descr>
 | |
|           <var>IndexByte</var> searches the memory at <var>buf</var> for maximally <var>len</var>
 | |
| positions for the byte <var>b</var> and returns it's position if it found one.
 | |
| If <var>b</var> is not found then -1 is returned.
 | |
| 
 | |
| The position is zero-based.
 | |
| </descr>
 | |
|         <errors>
 | |
|           <var>Buf</var> and <var>Len</var> are not checked to see if they are valid values.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="IndexChar"/>
 | |
|           <link id="IndexDWord"/>
 | |
|           <link id="IndexWord"/>
 | |
|           <link id="CompareByte"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex105"/>
 | |
|       </element>
 | |
|       <element name="IndexChar">
 | |
|         <short>Search for a character in a memory range.</short>
 | |
|         <descr>
 | |
|           <var>IndexChar</var> searches the memory at <var>buf</var> for maximally <var>len</var>
 | |
| positions for the character <var>b</var> and returns it's position if it found one.
 | |
| If <var>b</var> is not found then -1 is returned.
 | |
| 
 | |
| The position is zero-based. The <var>IndexChar0</var> variant stops looking if
 | |
| a null character is found, and returns -1 in that case.
 | |
| </descr>
 | |
|         <errors>
 | |
|           <var>Buf</var> and <var>Len</var> are not checked to see if they are valid values.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="IndexByte"/>
 | |
|           <link id="IndexDWord"/>
 | |
|           <link id="IndexWord"/>
 | |
|           <link id="CompareChar"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex108"/>
 | |
|       </element>
 | |
|       <element name="IndexDWord">
 | |
|         <short>Search for a DWord value in a memory range.</short>
 | |
|         <descr>
 | |
|           <var>IndexChar</var> searches the memory at <var>buf</var> for maximally <var>len</var>
 | |
| positions for the DWord <var>DW</var> and returns it's position if it found one.
 | |
| If <var>DW</var> is not found then -1 is returned.
 | |
| 
 | |
| The position is zero-based.
 | |
| </descr>
 | |
|         <errors>
 | |
|           <var>Buf</var> and <var>Len</var> are not checked to see if they are valid values.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="IndexByte"/>
 | |
|           <link id="IndexChar"/>
 | |
|           <link id="IndexWord"/>
 | |
|           <link id="CompareDWord"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex106"/>
 | |
|       </element>
 | |
|       <element name="IndexWord">
 | |
|         <short>Search for a WORD value in a memory range.</short>
 | |
|         <descr>
 | |
|           <var>IndexChar</var> searches the memory at <var>buf</var> for maximally <var>len</var>
 | |
| positions for the Word <var>W</var> and returns it's position if it found one.
 | |
| If <var>W</var> is not found then -1 is returned.
 | |
| </descr>
 | |
|         <errors>
 | |
|           <var>Buf</var> and <var>Len</var> are not checked to see if they are valid values.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="IndexByte"/>
 | |
|           <link id="IndexDWord"/>
 | |
|           <link id="IndexChar"/>
 | |
|           <link id="CompareWord"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex107"/>
 | |
|       </element>
 | |
|       <element name="Insert">
 | |
|         <short>Insert one string in another.</short>
 | |
|         <descr>
 | |
|           <var>Insert</var> inserts string <var>Source</var> in string <var>S</var>, at position
 | |
| <var>Index</var>, shifting all characters after <var>Index</var> to the right. The
 | |
| resulting string is truncated at 255 characters, if needed. (i.e. for
 | |
| shortstrings)
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Delete"/>
 | |
|           <link id="Copy"/>
 | |
|           <link id="Pos"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex33"/>
 | |
|       </element>
 | |
|       <element name="IsMemoryManagerSet">
 | |
|         <short>Is the memory manager set</short>
 | |
|         <descr>
 | |
|           <var>IsMemoryManagerSet</var> will return <var>True</var> if the memory manager has
 | |
| been set to another value than the system heap manager, it will return
 | |
| <var>False</var> otherwise.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SetMemoryManager"/>
 | |
|           <link id="GetMemoryManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Int">
 | |
|         <short>Calculate integer part of floating point value.</short>
 | |
|         <descr>
 | |
|           <var>Int</var> returns the integer part of any Real <var>X</var>, as a Real.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Frac"/>
 | |
|           <link id="Round"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex34"/>
 | |
|       </element>
 | |
|       <element name="IOresult">
 | |
|         <short>Return result of last file IO operation</short>
 | |
|         <descr>
 | |
|           <p>IOresult contains the result of any input/output call, when the
 | |
| <var>{\$i-}</var> compiler directive is active, disabling IO checking.
 | |
| When the flag is read, it is reset to zero.
 | |
| If <var>IOresult</var> is zero, the operation completed successfully. If
 | |
| non-zero, an error occurred. The following errors can occur:
 | |
| </p>
 | |
|           <p>dos errors :
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt>2</dt>
 | |
|             <dd>File not found.</dd>
 | |
|             <dt>3</dt>
 | |
|             <dd>Path not found.</dd>
 | |
|             <dt>4</dt>
 | |
|             <dd>Too many open files.</dd>
 | |
|             <dt>5</dt>
 | |
|             <dd>Access denied.</dd>
 | |
|             <dt>6</dt>
 | |
|             <dd>Invalid file handle.</dd>
 | |
|             <dt>12</dt>
 | |
|             <dd>Invalid file-access mode.</dd>
 | |
|             <dt>15</dt>
 | |
|             <dd>Invalid disk number.</dd>
 | |
|             <dt>16</dt>
 | |
|             <dd>Cannot remove current directory.</dd>
 | |
|             <dt>17</dt>
 | |
|             <dd>Cannot rename across volumes.</dd>
 | |
|           </dl>
 | |
|           <p>I/O errors :
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt>100</dt>
 | |
|             <dd>Error when reading from disk.</dd>
 | |
|             <dt>101</dt>
 | |
|             <dd>Error when writing to disk.</dd>
 | |
|             <dt>102</dt>
 | |
|             <dd>File not assigned.</dd>
 | |
|             <dt>103</dt>
 | |
|             <dd>File not open.</dd>
 | |
|             <dt>104</dt>
 | |
|             <dd>File not opened for input.</dd>
 | |
|             <dt>105</dt>
 | |
|             <dd>File not opened for output.</dd>
 | |
|             <dt>106</dt>
 | |
|             <dd>Invalid number.</dd>
 | |
|           </dl>
 | |
|           <p>Fatal errors :
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt>150</dt>
 | |
|             <dd>Disk is write protected.</dd>
 | |
|             <dt>151</dt>
 | |
|             <dd>Unknown device.</dd>
 | |
|             <dt>152</dt>
 | |
|             <dd>Drive not ready.</dd>
 | |
|             <dt>153</dt>
 | |
|             <dd>Unknown command.</dd>
 | |
|             <dt>154</dt>
 | |
|             <dd>CRC check failed.</dd>
 | |
|             <dt>155</dt>
 | |
|             <dd>Invalid drive specified..</dd>
 | |
|             <dt>156</dt>
 | |
|             <dd>Seek error on disk.</dd>
 | |
|             <dt>157</dt>
 | |
|             <dd>Invalid media type.</dd>
 | |
|             <dt>158</dt>
 | |
|             <dd>Sector not found.</dd>
 | |
|             <dt>159</dt>
 | |
|             <dd>Printer out of paper.</dd>
 | |
|             <dt>160</dt>
 | |
|             <dd>Error when writing to device.</dd>
 | |
|             <dt>161</dt>
 | |
|             <dd>Error when reading from device.</dd>
 | |
|             <dt>162</dt>
 | |
|             <dd>Hardware failure.</dd>
 | |
|           </dl>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>All I/O functions.
 | |
| </seealso>
 | |
|         <example file="refex/ex35"/>
 | |
|       </element>
 | |
|       <element name="Length">
 | |
|         <short>Calculate length of a string.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Length</var> returns the length of the string <var>S</var>, which is limited
 | |
| to 255 for shortstrings. If the strings <var>S</var> is empty, 0 is returned.
 | |
| </p>
 | |
|           <p>
 | |
|             <em>Note:</em> The length of the string <var>S</var> is stored in <var>S[0]</var> for
 | |
| shortstrings only. The <var>Length</var> fuction should always be used on 
 | |
| ansistrings and widestrings.
 | |
| </p>
 | |
|           <p>For dynamical arrays, the function returns the number of elements in the
 | |
| array.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Pos"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex36"/>
 | |
|       </element>
 | |
|       <element name="Ln">
 | |
|         <short>Calculate logarithm</short>
 | |
|         <descr>
 | |
|           <var>Ln</var> returns the natural logarithm of the Real parameter <var>X</var>.
 | |
| <var>X</var> must be positive.
 | |
| </descr>
 | |
|         <errors>An run-time error will occur when <var>X</var> is negative.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Exp"/>
 | |
|           <link id="Power"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex37"/>
 | |
|       </element>
 | |
|       <element name="Lo">
 | |
|         <short>Return low byte/word of value.</short>
 | |
|         <descr>
 | |
|           <var>Lo</var> returns the low byte of its argument if this is of type
 | |
| <var>Integer</var> or
 | |
| <var>Word</var>. It returns the low word of its argument if this is of type
 | |
| <var>Longint</var> or <var>Cardinal</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Ord"/>
 | |
|           <link id="Chr"/>
 | |
|           <link id="Hi"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex38"/>
 | |
|       </element>
 | |
|       <element name="LongJmp">
 | |
|         <short>Jump to address.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>LongJmp</var> jumps to the adress in the <var>env</var>
 | |
|             <var>jmp_buf</var>,
 | |
| and restores the registers that were stored in it at the corresponding
 | |
| <link id="SetJmp"/> call.
 | |
| In effect, program flow will continue at the <var>SetJmp</var> call, which will
 | |
| return <var>value</var> instead of 0. If a <var>value</var> equal to zero is passed,
 | |
| it will be converted to 1 before passing it on. The call will not return, so it must be
 | |
| used with extreme care.
 | |
| This can be used for error recovery, for instance when a segmentation fault
 | |
| occurred.
 | |
| </p>
 | |
|           <p>For an example, see <link id="SetJmp"/>
 | |
|           </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SetJmp"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Low">
 | |
|         <short>Return lowest index of open array or enumerated</short>
 | |
|         <descr>
 | |
|           <p>The return value of <var>Low</var> depends on it's argument:
 | |
| </p>
 | |
|           <ol>
 | |
|             <li>If the argument is an ordinal type, <var>Low</var> returns the lowest
 | |
| value in the range of the given ordinal type.
 | |
| </li>
 | |
|             <li>If the argument is an array type or an array type variable then
 | |
| <var>Low</var> returns the lowest possible value of it's index.
 | |
| </li>
 | |
|             <li>If the argument is an open array identifier in a function or
 | |
| procedure, then <var>Low</var> returns the lowest element of the array,
 | |
| which is always zero.
 | |
| </li>
 | |
|             <li>If the argument is a set type then it returns the lowest value of
 | |
| the underlying ordinal type.
 | |
| </li>
 | |
|           </ol>
 | |
|           <p>The return type is always the same type as the type of the argument.
 | |
| </p>
 | |
|           <p>for an example, see <link id="High"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="High"/>
 | |
|           <link id="Ord"/>
 | |
|           <link id="Pred"/>
 | |
|           <link id="Succ"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Lowercase">
 | |
|         <short>Return lowercase version of a string.</short>
 | |
|         <descr>
 | |
|           <var>Lowercase</var> returns the lowercase version of its argument <var>C</var>.
 | |
| If its argument is a string, then the complete string is converted to
 | |
| lowercase. The type of the returned value is the same as the type of the
 | |
| argument.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Upcase"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex73"/>
 | |
|       </element>
 | |
|       <element name="Mkdir">
 | |
|         <short>Create a new directory.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Mkdir</var> creates a new  directory <var>S</var>.
 | |
| </p>
 | |
|           <p>For an example, see <link id="Rmdir"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Chdir"/>
 | |
|           <link id="Rmdir"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Move">
 | |
|         <short>Move data from one location in memory to another</short>
 | |
|         <descr>
 | |
|           <var>Move</var> moves <var>Count</var> bytes from <var>Source</var> to <var>Dest</var>.
 | |
| </descr>
 | |
|         <errors>If either <var>Dest</var> or <var>Source</var> is outside the accessible memory for
 | |
| the process, then a run-time error will be generated.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Fillword"/>
 | |
|           <link id="Fillchar"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex42"/>
 | |
|       </element>
 | |
|       <element name="MoveChar0">
 | |
|         <short>Move data till first zero character</short>
 | |
|         <descr>
 | |
|           <var>MoveChar0</var> moves <var>Count</var> bytes from <var>buf1</var> to <var>buf2</var>, and
 | |
| stops moving if a zero character is found.
 | |
| </descr>
 | |
|         <errors>No checking is done to see if <var>Count</var> stays within the memory allocated
 | |
| to the process.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Move"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex109"/>
 | |
|       </element>
 | |
|       <element name="New">
 | |
|         <short>Dynamically allocate memory for variable</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>New</var> allocates a new instance of the type pointed to by <var>P</var>, and
 | |
| puts the address in <var>P</var>.
 | |
| If P is an object, then it is possible to
 | |
| specify the name of the constructor with which the instance will be created.
 | |
| </p>
 | |
|           <p>For an example, see <link id="Dispose"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If not enough memory is available, <var>Nil</var> will be returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Dispose"/>
 | |
|           <link id="Freemem"/>
 | |
|           <link id="Getmem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Odd">
 | |
|         <short>Is a value odd or even ?</short>
 | |
|         <descr>
 | |
|           <var>Odd</var> returns <var>True</var> if <var>X</var> is odd, or <var>False</var> otherwise.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Abs"/>
 | |
|           <link id="Ord"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex43"/>
 | |
|       </element>
 | |
|       <element name="OctStr">
 | |
|         <short>Convert integer to a string with octal representation.</short>
 | |
|         <descr>
 | |
|           <var>OctStr</var> returns a string with the octal representation
 | |
| of <var>Value</var>. The string has exactly <var>cnt</var> charaters.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Str"/>
 | |
|           <link id="Val"/>
 | |
|           <link id="BinStr"/>
 | |
|           <link id="HexStr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex112"/>
 | |
|       </element>
 | |
|       <element name="Ofs">
 | |
|         <short>Return offset of a variable.</short>
 | |
|         <descr>
 | |
|           <var>Ofs</var> returns the offset of the address of a variable.
 | |
| This function is only supported for compatibility. In Free Pascal, it
 | |
| returns always the complete address of the variable, since Free Pascal is a 32 bit
 | |
| compiler.
 | |
| 
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="DSeg"/>
 | |
|           <link id="CSeg"/>
 | |
|           <link id="Seg"/>
 | |
|           <link id="Ptr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex44"/>
 | |
|       </element>
 | |
|       <element name="Ord">
 | |
|         <short>Return ordinal value of an ordinal type.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Ord</var> returns the Ordinal value of a ordinal-type variable <var>X</var>.
 | |
| </p>
 | |
|           <p>Historical note:
 | |
| </p>
 | |
|           <p>Originally, Pascal did not have typecasts and ord was a necessary function in
 | |
| order to do certain operations on non-integer ordinal types. With the arrival of
 | |
| typecasting a generic approach became possible, making ord mostly obselete.
 | |
| However ord is not considered deprecated and remains in wide use today.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Chr"/>
 | |
|           <link id="Succ"/>
 | |
|           <link id="Pred"/>
 | |
|           <link id="High"/>
 | |
|           <link id="Low"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex45"/>
 | |
|       </element>
 | |
|       <element name="Paramcount">
 | |
|         <short>Return number of command-line parameters passed to the program.</short>
 | |
|         <descr>
 | |
|           <var>Paramcount</var> returns the number of command-line arguments. If no
 | |
| arguments were given to the running program, <var>0</var> is returned.
 | |
| 
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Paramstr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex46"/>
 | |
|       </element>
 | |
|       <element name="Paramstr">
 | |
|         <short>Return value of a command-line argument.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Paramstr</var> returns the <var>L</var>-th command-line argument. 
 | |
| <var>L</var> must be between <var>0</var> and <var>Paramcount</var>, 
 | |
| these values included. The zeroth argument is the path and file name 
 | |
| with which the program was started.
 | |
| </p>
 | |
|           <p>The command-line parameters will be truncated to a length of 255,
 | |
| even though the operating system may support bigger command-lines.
 | |
| The <var>Objpas</var> unit (used in <var>objfpc</var> or <var>delphi</var> mode)
 | |
| defines versions of <var>Paramstr</var> which return the full-length command-line 
 | |
| arguments, using ansistrings.
 | |
| </p>
 | |
|           <p>In the interest of portability, the <var>ParamStr</var> function tries to behave 
 | |
| the same on all operating systems: like the original <var>ParamStr</var> function 
 | |
| in Turbo Pascal. This means even on Unix, paramstr(0) returns the full 
 | |
| path to the program executable. A notable exception is Mac OS X, where
 | |
| the return value depends on how the application was started. It may be that 
 | |
| just the name of the application is returned (in case of a command-line
 | |
| launch)
 | |
| </p>
 | |
|           <p>In general, it's a bad idea to rely on the location of the binary. Often,
 | |
| this goes against best OS practices. Configuration data should (or can) not
 | |
| be stored next to the binary, but on designated locations. What locations
 | |
| these are, is very much operating system dependent. Therefore, 
 | |
| <var>ParamStr(0)</var> should be used with care.
 | |
| </p>
 | |
|           <p>For an example, see <link id="Paramcount"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Paramcount"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Pi">
 | |
|         <short>Return the value of PI.</short>
 | |
|         <descr>
 | |
|           <var>Pi</var> returns the value of Pi (3.1415926535897932385).
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Cos"/>
 | |
|           <link id="Sin"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex47"/>
 | |
|       </element>
 | |
|       <element name="Pos">
 | |
|         <short>Search for substring in a string.</short>
 | |
|         <descr>
 | |
|           <var>Pos</var> returns the index of <var>Substr</var> in <var>S</var>, if <var>S</var> contains
 | |
| <var>Substr</var>. In case <var>Substr</var> isn't found, <var>0</var> is returned.
 | |
| The search is case-sensitive.
 | |
| </descr>
 | |
|         <errors>None
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Length"/>
 | |
|           <link id="Copy"/>
 | |
|           <link id="Delete"/>
 | |
|           <link id="Insert"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex48"/>
 | |
|       </element>
 | |
|       <element name="Power">
 | |
|         <short>Raise float to integer power</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Power</var> returns the value of <var>base</var> to the power <var>expon</var>.
 | |
| <var>Base</var> and <var>expon</var> can be of type Longint, in which case the
 | |
| result will also be a Longint.
 | |
| </p>
 | |
|           <p>The function actually returns <var>Exp(expon*Ln(base))</var>
 | |
|           </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Exp"/>
 | |
|           <link id="Ln"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex78"/>
 | |
|       </element>
 | |
|       <element name="Pred">
 | |
|         <short>Return previous element for an ordinal type.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Pred</var> returns the element that precedes the element that was passed
 | |
| to it. If it is applied to the first value of the ordinal type, and the
 | |
| program was compiled with range checking on (<var>{$R+}</var>), then a run-time
 | |
| error will be generated.
 | |
| </p>
 | |
|           <p>for an example, see <link id="Ord"/>
 | |
|           </p>
 | |
|         </descr>
 | |
|         <errors>Run-time error 201 is generated when the result is out of
 | |
| range.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Ord"/>
 | |
|           <link id="Pred"/>
 | |
|           <link id="High"/>
 | |
|           <link id="Low"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Ptr">
 | |
|         <short>Combine segment and offset to pointer</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Ptr</var> returns a pointer, pointing to the address specified by
 | |
| segment <var>Sel</var> and offset <var>Off</var>.
 | |
| </p>
 | |
|           <remark>
 | |
|             <ol>
 | |
|               <li>In the 32-bit flat-memory model supported by Free Pascal, this
 | |
| function is obsolete.
 | |
| </li>
 | |
|               <li>The returned address is simply the offset.
 | |
| </li>
 | |
|             </ol>
 | |
|           </remark>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Addr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex59"/>
 | |
|       </element>
 | |
|       <element name="Random">
 | |
|         <short>Generate random number</short>
 | |
|         <descr>
 | |
|           <var>Random</var> returns a random number larger or equal to <var>0</var> and
 | |
| strictly less than <var>L</var>.
 | |
| If the argument <var>L</var> is omitted, a Real number between 0 and 1 is returned.
 | |
| (0 included, 1 excluded)
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Randomize"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex49"/>
 | |
|       </element>
 | |
|       <element name="Randomize">
 | |
|         <short>Initialize random number generator</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Randomize</var> initializes the random number generator of Free Pascal, by giving
 | |
| a value to <var>Randseed</var>, calculated with the system clock.
 | |
| </p>
 | |
|           <p>For an example, see <link id="Random"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Random"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Read">
 | |
|         <short>Read from a text file into variable</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Read</var> reads one or more values from a file <var>F</var>, and stores the
 | |
| result in <var>V1</var>, <var>V2</var>, etc.; If no file <var>F</var> is specified, then
 | |
| standard input is read.
 | |
| If <var>F</var> is of type <var>Text</var>, then the variables <var>V1, V2</var> etc. must be
 | |
| of type <var>Char</var>, <var>Integer</var>, <var>Real</var>, <var>String</var>.
 | |
| If <var>F</var> is a typed file, then each of the variables must be of the type
 | |
| specified in the declaration of <var>F</var>. Untyped files are not allowed as an
 | |
| argument.
 | |
| </p>
 | |
|           <p>In earlier versions of FPC, it was also allowed to read <var>Pchar</var>
 | |
| null-terminated strings, but this has been removed, since there is no buffer
 | |
| checking possible.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If no data is available, a run-time error is generated. This behavior can
 | |
| be controlled with the <var>{$I}</var> compiler switch.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Readln"/>
 | |
|           <link id="Blockread"/>
 | |
|           <link id="Write"/>
 | |
|           <link id="Blockwrite"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex50"/>
 | |
|       </element>
 | |
|       <element name="Readln">
 | |
|         <short>Read from a text file into variable and goto next line</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Read</var> reads one or more values from a file <var>F</var>, and stores the
 | |
| result in <var>V1</var>, <var>V2</var>, etc. After that it goes to the next line in
 | |
| the file. The end of the line is marked by the <var>LineEnding</var>
 | |
| character sequence (which is platform dependent). The end-of-line marker is
 | |
| not considered part of the line and is ignored.
 | |
| </p>
 | |
|           <p>If no file <var>F</var> is specified, then standard input is read.
 | |
| The variables <var>V1, V2</var> etc. must be of type <var>Char</var>, <var>Integer</var>,
 | |
| <var>Real</var>, <var>String</var> or <var>PChar</var>.
 | |
| </p>
 | |
|           <p>For an example, see <link id="Read"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If no data is available, a run-time error is generated. This behavior can
 | |
| be controlled with the <var>{$I}</var> compiler switch.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Read"/>
 | |
|           <link id="Blockread"/>
 | |
|           <link id="Write"/>
 | |
|           <link id="Blockwrite"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Real2Double">
 | |
|         <short>Convert Turbo Pascal style real to double.</short>
 | |
|         <descr>
 | |
|           <p>The <var>Real2Double</var> function converts a Turbo Pascal style real (6 bytes long) to
 | |
| a native Free Pascal double type. It can be used e.g. to read old binary TP files with
 | |
| FPC and convert them to Free Pacal binary files.
 | |
| </p>
 | |
|           <p>Note that the assignment operator has been overloaded so a <var>Real48</var> type
 | |
| can be assigned directly to a double or extended.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso/>
 | |
|         <example file="refex/ex110"/>
 | |
|       </element>
 | |
|       <element name="Rename">
 | |
|         <short>Rename file on disk</short>
 | |
|         <descr>
 | |
|           <var>Rename</var> changes the name of the assigned file <var>F</var> to <var>S</var>.
 | |
| <var>F</var>
 | |
| must be assigned, but not opened.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Erase"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex77"/>
 | |
|       </element>
 | |
|       <element name="Reset">
 | |
|         <short>Open file for reading</short>
 | |
|         <descr>
 | |
|           <var>Reset</var> opens a file <var>F</var> for reading. <var>F</var> can be any file type.
 | |
| If <var>F</var> is a text file, or refers to standard I/O (e.g : '') then it is 
 | |
| opened read-only, otherwise it is opened using the mode specified in 
 | |
| <var>filemode</var>.
 | |
| 
 | |
| If <var>F</var> is an untyped file, the record size can be specified in
 | |
| the optional parameter <var>L</var>. A default value of 128 is used.
 | |
| 
 | |
| File sharing is not taken into account when calling <var>Reset</var>.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Rewrite"/>
 | |
|           <link id="Assign"/>
 | |
|           <link id="Close"/>
 | |
|           <link id="Append"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex51"/>
 | |
|       </element>
 | |
|       <element name="Rewrite">
 | |
|         <short>Open file for writing</short>
 | |
|         <descr>
 | |
|           <var>Rewrite</var> opens a file <var>F</var> for writing. <var>F</var> can be any file type.
 | |
| If <var>F</var> is an untyped or typed file, then it is opened for reading and
 | |
| writing. If <var>F</var> is an untyped file, the record size can be specified in
 | |
| the optional parameter <var>L</var>. Default a value of 128 is used.
 | |
| if <var>Rewrite</var> finds a file with the same name as <var>F</var>, this file is
 | |
| truncated to length <var>0</var>. If it doesn't find such a file, a new file is
 | |
| created.
 | |
| 
 | |
| Contrary to Turbo Pascal, Free Pascal opens the file with mode <var>fmoutput</var>. If it should
 | |
| be opened in <var>fminout</var> mode, an extra call to <link id="Reset"/> is needed.
 | |
| 
 | |
| File sharing is not taken into account when calling <var>Rewrite</var>.
 | |
| 
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Reset"/>
 | |
|           <link id="Assign"/>
 | |
|           <link id="Close"/>
 | |
|           <link id="Flush"/>
 | |
|           <link id="Append"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex52"/>
 | |
|       </element>
 | |
|       <element name="Rmdir">
 | |
|         <short>Remove directory when empty.</short>
 | |
|         <descr>
 | |
|           <var>Rmdir</var> removes the directory <var>S</var>.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Chdir"/>
 | |
|           <link id="Mkdir"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex53"/>
 | |
|       </element>
 | |
|       <element name="Round">
 | |
|         <short>Round floating point value to nearest integer number.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Round</var> rounds <var>X</var> to the closest integer, which may be bigger or
 | |
| smaller than <var>X</var>.
 | |
| </p>
 | |
|           <p>In the case of <var>.5</var>, the algorithm uses "banker's rounding": 
 | |
| <var>.5</var> values are always rounded towards the even number.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Frac"/>
 | |
|           <link id="Int"/>
 | |
|           <link id="Trunc"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex54"/>
 | |
|       </element>
 | |
|       <element name="Runerror">
 | |
|         <short>Generate a run-time error.</short>
 | |
|         <descr>
 | |
|           <var>Runerror</var> stops the execution of the program, and generates a
 | |
| run-time error <var>ErrorCode</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Exit"/>
 | |
|           <link id="Halt"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex55"/>
 | |
|       </element>
 | |
|       <element name="Seek">
 | |
|         <short>Set file position</short>
 | |
|         <descr>
 | |
|           <var>Seek</var> sets the file-pointer for file <var>F</var> to record Nr. <var>Count</var>.
 | |
| The first record in a file has <var>Count=0</var>. F can be any file type, except
 | |
| <var>Text</var>. If <var>F</var> is an untyped file, with no record size specified in
 | |
| <link id="Reset"/> or <link id="Rewrite"/>, 128 is assumed.
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Eof"/>
 | |
|           <link id="SeekEof"/>
 | |
|           <link id="SeekEoln"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex56"/>
 | |
|       </element>
 | |
|       <element name="SeekEof">
 | |
|         <short>Set file position to end of file</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SeekEof</var> returns <var>True</var> is the file-pointer is at the end of the
 | |
| file. It ignores all whitespace.
 | |
| Calling this function has the effect that the file-position is advanced
 | |
| until the first non-whitespace character or the end-of-file marker is
 | |
| reached.
 | |
| </p>
 | |
|           <p>If the end-of-file marker is reached, <var>True</var> is returned. Otherwise,
 | |
| False is returned.
 | |
| </p>
 | |
|           <p>If the parameter <var>F</var> is omitted, standard <var>Input</var> is assumed.
 | |
| </p>
 | |
|           <remark>The SeekEOF function can only be used on real textfiles: when assigning the
 | |
| file to other kinds of (virtual) text files, the function may fail, although
 | |
| it will perform a number of tests to guard against wrong usage.
 | |
| </remark>
 | |
|         </descr>
 | |
|         <errors>A run-time error is generated if the file <var>F</var> isn't opened.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Eof"/>
 | |
|           <link id="SeekEoln"/>
 | |
|           <link id="Seek"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex57"/>
 | |
|       </element>
 | |
|       <element name="SeekEoln">
 | |
|         <short>Set file position to end of line</short>
 | |
|         <descr>
 | |
|           <var>SeekEoln</var> returns <var>True</var> is the file-pointer is at the end of the
 | |
| current line. It ignores all whitespace.
 | |
| Calling this function has the effect that the file-position is advanced
 | |
| until the first non-whitespace character or the end-of-line marker is
 | |
| reached.
 | |
| If the end-of-line marker is reached, <var>True</var> is returned. Otherwise,
 | |
| False is returned.
 | |
| The end-of-line marker is defined as <var>#10</var>, the LineFeed character.
 | |
| If the parameter <var>F</var> is omitted, standard <var>Input</var> is assumed.
 | |
| </descr>
 | |
|         <errors>A run-time error is generated if the file <var>F</var> isn't opened.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Eof"/>
 | |
|           <link id="SeekEof"/>
 | |
|           <link id="Seek"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex58"/>
 | |
|       </element>
 | |
|       <element name="Seg">
 | |
|         <short>Return segment</short>
 | |
|         <descr>
 | |
|           <var>Seg</var> returns the segment of the address of a variable.
 | |
| This function is only supported for compatibility. In Free Pascal, it
 | |
| returns always 0, since Free Pascal uses a flat 32/64 bit
 | |
| memory model. In such a memory model segments have no meaning.
 | |
| 
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="DSeg"/>
 | |
|           <link id="CSeg"/>
 | |
|           <link id="Ofs"/>
 | |
|           <link id="Ptr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex60"/>
 | |
|       </element>
 | |
|       <element name="SetMemoryManager">
 | |
|         <short>Set a memory manager</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SetMemoryManager</var> sets the current memory manager record to
 | |
| <var>MemMgr</var>.
 | |
| </p>
 | |
|           <p>For an example, see the programmer's guide.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="GetMemoryManager"/>
 | |
|           <link id="IsMemoryManagerSet"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="SetJmp">
 | |
|         <short>Save current execution point.</short>
 | |
|         <descr>
 | |
|           <var>SetJmp</var> fills <var>env</var> with the necessary data for a jump back to the
 | |
| point where it was called. It returns zero if called in this way.
 | |
| If the function returns nonzero, then it means that a call to <link id="LongJmp"/>
 | |
| with <var>env</var> as an argument was made somewhere in the program.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="LongJmp"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex79"/>
 | |
|       </element>
 | |
|       <element name="SetLength">
 | |
|         <short>Set length of a string.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SetLength</var> sets the length of the string <var>S</var> to <var>Len</var>. <var>S</var>
 | |
| can be an ansistring, a short string or a widestring.
 | |
| For <var>ShortStrings</var>, <var>Len</var> can maximally be 255. For <var>AnsiStrings</var>
 | |
| it can have any value. For <var>AnsiString</var> strings, <var>SetLength</var> {\em
 | |
| must} be used to set the length of the string.
 | |
| </p>
 | |
|           <p>In the case of a dynamical array <var>A</var>, setlength sets the number
 | |
| of elements. The elements are numbered from index 0, so the count runs from
 | |
| 0 to <var>Len-1</var>. If Zero is specified, the array is cleared.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Length"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex85"/>
 | |
|       </element>
 | |
|       <element name="SetString">
 | |
|         <short>Set length of a string and copy buffer.</short>
 | |
|         <descr>
 | |
|           <var>SetString</var> sets the length of the string <var>S</var> to <var>Len</var> and
 | |
| if <var>Buf</var> is non-nil, copies <var>Len</var> characters from <var>Buf</var> 
 | |
| into <var>S</var>.  <var>S</var> can be an ansistring, a short string or a widestring.
 | |
| For <var>ShortStrings</var>, <var>Len</var> can maximally be 255. 
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SetLength"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="SetTextBuf">
 | |
|         <short>Set size of text file internal buffer</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SetTextBuf</var> assigns an I/O buffer to a text file. The new buffer is
 | |
| located at <var>Buf</var> and is <var>Size</var> bytes long. If <var>Size</var> is omitted,
 | |
| then <var>SizeOf(Buf)</var> is assumed.
 | |
| The standard buffer of any text file is 128 bytes long. For heavy I/O
 | |
| operations this may prove too slow. The <var>SetTextBuf</var> procedure allows
 | |
| to set a bigger buffer for the I/O of the application, thus reducing the number of
 | |
| system calls, and thus reducing the load on the system resources.
 | |
| The maximum size of the newly assigned buffer is 65355 bytes.
 | |
| </p>
 | |
|           <remark>
 | |
|             <ul>
 | |
|               <li>Never assign a new buffer to an opened file. A
 | |
| new buffer can be assigned immediately after a call
 | |
| to <link id="Rewrite"/>, <link id="Reset"/> or
 | |
| <var>Append</var>, but not after the file was read from/written to. This may cause
 | |
| loss of data. If a new buffer must be assigned after read/write
 | |
| operations have been performed, the file should be flushed first.
 | |
| This will ensure that the current buffer is emptied.
 | |
| </li>
 | |
|               <li>Take care that the assigned buffer is always valid. If a local variable is
 | |
| assigned as a buffer, then after the program exits the local program block,
 | |
| the buffer will no longer be valid, and stack problems may occur.
 | |
| </li>
 | |
|             </ul>
 | |
|           </remark>
 | |
|         </descr>
 | |
|         <errors>No checking on <var>Size</var> is done.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Assign"/>
 | |
|           <link id="Reset"/>
 | |
|           <link id="Rewrite"/>
 | |
|           <link id="Append"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex61"/>
 | |
|       </element>
 | |
|       <element name="Sin">
 | |
|         <short>Calculate sine of angle</short>
 | |
|         <descr>
 | |
|           <var>Sin</var> returns the sine of its argument <var>X</var>, where <var>X</var> is an
 | |
| angle in radians.
 | |
| 
 | |
| If the absolute value of the argument is larger than 2^63, then the
 | |
| result is undefined.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Cos"/>
 | |
|           <link id="Pi"/>
 | |
|           <link id="Exp"/>
 | |
|           <link id="Ln"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex62"/>
 | |
|       </element>
 | |
|       <element name="SizeOf">
 | |
|         <short>Return size of a variable or type.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SizeOf</var> returns the size, in bytes, of any variable or type-identifier.
 | |
| </p>
 | |
|           <remark>This isn't really a RTL function. Its result is calculated at
 | |
| compile-time, and hard-coded in the executable.
 | |
| </remark>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Addr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex63"/>
 | |
|       </element>
 | |
|       <element name="Sptr">
 | |
|         <short>Return current stack pointer</short>
 | |
|         <descr>
 | |
|           <var>Sptr</var> returns the current stack pointer.
 | |
| 
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SSeg"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex64"/>
 | |
|       </element>
 | |
|       <element name="Sqr">
 | |
|         <short>Calculate the square of a value.</short>
 | |
|         <descr>
 | |
|           <var>Sqr</var> returns the square of its argument <var>X</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Sqrt"/>
 | |
|           <link id="Ln"/>
 | |
|           <link id="Exp"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex65"/>
 | |
|       </element>
 | |
|       <element name="Sqrt">
 | |
|         <short>Calculate the square root of a value</short>
 | |
|         <descr>
 | |
|           <var>Sqrt</var> returns the square root of its argument <var>X</var>, which must be
 | |
| positive.
 | |
| </descr>
 | |
|         <errors>If <var>X</var> is negative, then a run-time error is generated.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Sqr"/>
 | |
|           <link id="Ln"/>
 | |
|           <link id="Exp"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex66"/>
 | |
|       </element>
 | |
|       <element name="SSeg">
 | |
|         <short>Return stack segment register value.</short>
 | |
|         <descr>
 | |
|           <var>SSeg</var> returns the Stack Segment. This function is only
 | |
|  supported for compatibility reasons, as <var>Sptr</var> returns the
 | |
| correct contents of the stackpointer.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Sptr"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex67"/>
 | |
|       </element>
 | |
|       <element name="Str">
 | |
|         <short>Convert a numerical value to a string.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Str</var> returns a string which represents the value of X. X can be any
 | |
| numerical type. The actual declaration of <var>Str</var> is not according
 | |
| to pascal syntax, and should be
 | |
| </p>
 | |
|           <code>procedure Str(var X: TNumericType[:NumPlaces[:Decimals]];var S: String)
 | |
| </code>
 | |
|           <p>Where the optional <var>NumPlaces</var> and <var>Decimals</var> specifiers control the
 | |
| formatting of the string: <var>NumPlaces</var> gives the total width of the
 | |
| string, and <var>Decimals</var> the number of decimals after the decimal
 | |
| separator char.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Val"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex68"/>
 | |
|       </element>
 | |
|       <element name="StringOfChar">
 | |
|         <short>Return a string consisting of 1 character repeated N times.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>StringOfChar</var> creates a new String of length <var>l</var> and fills
 | |
| it with the character <var>c</var>.
 | |
| </p>
 | |
|           <p>It is equivalent to  the following calls:
 | |
| </p>
 | |
|           <code>SetLength(StringOfChar,l);
 | |
| FillChar(Pointer(StringOfChar)^,Length(StringOfChar),c);
 | |
| </code>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SetLength"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex97"/>
 | |
|       </element>
 | |
|       <element name="Succ">
 | |
|         <short>Return next element of ordinal type.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Succ</var> returns the element that succeeds the element that was passed
 | |
| to it. If it is applied to the last value of the ordinal type, and the
 | |
| program was compiled with range checking on (<var>{$R+}</var>), then a run-time
 | |
| error will be generated.
 | |
| </p>
 | |
|           <p>for an example, see <link id="Ord"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>Run-time error 201 is generated when the result is out of
 | |
| range.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Ord"/>
 | |
|           <link id="Pred"/>
 | |
|           <link id="High"/>
 | |
|           <link id="Low"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Swap">
 | |
|         <short>Swap high and low bytes/words of a variable</short>
 | |
|         <descr>
 | |
|           <var>Swap</var> swaps the high and low order bytes of <var>X</var> if <var>X</var> is of
 | |
| type <var>Word</var> or <var>Integer</var>, or swaps the high and low order words of
 | |
| <var>X</var> if <var>X</var> is of type <var>Longint</var> or <var>Cardinal</var>.
 | |
| The return type is the type of <var>X</var>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Lo"/>
 | |
|           <link id="Hi"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex69"/>
 | |
|       </element>
 | |
|       <element name="Trunc">
 | |
|         <short>Truncate a floating point value.</short>
 | |
|         <descr>
 | |
|           <var>Trunc</var> returns the integer part of <var>X</var>,
 | |
| which is always smaller than (or equal to) <var>X</var> in absolute value.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Frac"/>
 | |
|           <link id="Int"/>
 | |
|           <link id="Round"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex70"/>
 | |
|       </element>
 | |
|       <element name="Truncate">
 | |
|         <short>Truncate the file at position</short>
 | |
|         <descr>
 | |
|           <var>Truncate</var> truncates the (opened) file <var>F</var> at the current file
 | |
| position.
 | |
| 
 | |
| </descr>
 | |
|         <errors>Depending on the state of the <var>{$I}</var> switch, a runtime error can be 
 | |
| generated if there is an error. In the <var>{$I-}</var> state, use <var>IOResult</var>
 | |
| to check for errors.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Append"/>
 | |
|           <link id="Filepos"/>,
 | |
| <link id="Seek"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex71"/>
 | |
|       </element>
 | |
|       <element name="Upcase">
 | |
|         <short>Convert a string to all uppercase.</short>
 | |
|         <descr>
 | |
|           <var>Upcase</var> returns the uppercase version of its argument <var>C</var>.
 | |
| If its argument is a string, then the complete string is converted to
 | |
| uppercase. The type of the returned value is the same as the type of the
 | |
| argument.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Lowercase"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex72"/>
 | |
|       </element>
 | |
|       <element name="Val">
 | |
|         <short>Calculate numerical/enumerated value of a string.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Val</var> converts the value represented in the string <var>S</var> to a numerical
 | |
| value or an enumerated valye, and stores this value in the variable <var>V</var>, which
 | |
| can be of type <var>Longint</var>, <var>Real</var> and <var>Byte</var> or
 | |
| any enumerated type. If the conversion isn't succesfull, then the parameter 
 | |
| <var>Code</var> contains the index of the character in <var>S</var> which 
 | |
| prevented the conversion. 
 | |
| The string <var>S</var> is allowed to contain spaces in the beginning.
 | |
| </p>
 | |
|           <p>The string <var>S</var> can contain a number in decimal, hexadecimal, binary
 | |
| or octal format, as described in the language reference. For enumerated
 | |
| values, the string must be the name of the enumerated value. The name is
 | |
| searched case insensitively.
 | |
| </p>
 | |
|           <p>The conversion to enumerated exists only as of version 2.3.1 (or later) of the compiler.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If the conversion doesn't succeed, the value of <var>Code</var> indicates the
 | |
| position where the conversion went wrong. The value of <var>V</var> is then
 | |
| undefined.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Str"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex74"/>
 | |
|       </element>
 | |
|       <element name="Write">
 | |
|         <short>Write variable to a text file</short>
 | |
|         <descr>
 | |
|           <var>Write</var> writes the contents of the variables <var>V1</var>, <var>V2</var> etc. to
 | |
| the file <var>F</var>. <var>F</var> can be a typed file, or a <var>Text</var> file.
 | |
| If <var>F</var> is a typed file, then the variables <var>V1</var>, <var>V2</var> etc. must
 | |
| be of the same type as the type in the declaration of <var>F</var>. Untyped files
 | |
| are not allowed.
 | |
| If the parameter <var>F</var> is omitted, standard output is assumed.
 | |
| If <var>F</var> is of type <var>Text</var>, then the necessary conversions are done
 | |
| such that the output of the variables is in human-readable format.
 | |
| This conversion is done for all numerical types. Strings are printed exactly
 | |
| as they are in memory, as well as <var>PChar</var> types.
 | |
| The format of the numerical conversions can be influenced through
 | |
| the following modifiers:
 | |
| <var>OutputVariable : NumChars [: Decimals ]  </var>
 | |
| This will print the value of <var>OutputVariable</var> with a minimum of
 | |
| <var>NumChars</var> characters, from which <var>Decimals</var> are reserved for the
 | |
| decimals. If the number cannot be represented with <var>NumChars</var> characters,
 | |
| <var>NumChars</var> will be increased, until the representation fits. If the
 | |
| representation requires less than <var>NumChars</var> characters then the output
 | |
| is filled up with spaces, to the left of the generated string, thus
 | |
| resulting in a right-aligned representation.
 | |
| If no formatting is specified, then the number is written using its natural
 | |
| length, with nothing in front of it if it's positive, and a minus sign if
 | |
| it's negative.
 | |
| Real numbers are, by default, written in scientific notation.
 | |
| </descr>
 | |
|         <errors>If an error occurs, a run-time error is generated. This behavior can be
 | |
| controlled with the <var>{$I}</var> switch.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="WriteLn"/>
 | |
|           <link id="Read"/>
 | |
|           <link id="Readln"/>
 | |
|           <link id="Blockwrite"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="WriteLn">
 | |
|         <short>Write variable to a text file and append newline</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>WriteLn</var> does the same as <link id="Write"/> for text files, and emits a
 | |
| Carriage Return - LineFeed character pair after that.
 | |
| If the parameter <var>F</var> is omitted, standard output is assumed.
 | |
| If no variables are specified, a Carriage Return - LineFeed character pair
 | |
| is emitted, resulting in a new line in the file <var>F</var>.
 | |
| </p>
 | |
|           <remark>Under linux and unix, the Carriage Return character is omitted, as
 | |
| customary in Unix environments.
 | |
| </remark>
 | |
|         </descr>
 | |
|         <errors>If an error occurs, a run-time error is generated. This behavior can be
 | |
| controlled with the <var>{$I}</var> switch.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Write"/>
 | |
|           <link id="Read"/>
 | |
|           <link id="Readln"/>
 | |
|           <link id="Blockwrite"/>
 | |
|         </seealso>
 | |
|         <example file="refex/ex75"/>
 | |
|       </element>
 | |
|       <!-- range type Visibility: default -->
 | |
|       <element name="ShortInt">
 | |
|         <short>A signed 8-bits integer</short>
 | |
|       </element>
 | |
|       <!-- range type Visibility: default -->
 | |
|       <element name="SmallInt">
 | |
|         <short>A signed 16-bits integer</short>
 | |
|       </element>
 | |
|       <!-- range type Visibility: default -->
 | |
|       <element name="Longint">
 | |
|         <short>A signed 32-bits integer</short>
 | |
|       </element>
 | |
|       <!-- range type Visibility: default -->
 | |
|       <element name="Byte">
 | |
|         <short>An unsigned 8-bits integer</short>
 | |
|       </element>
 | |
|       <!-- range type Visibility: default -->
 | |
|       <element name="Word">
 | |
|         <short>An unsigned 16-bits integer</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="DWord">
 | |
|         <short>An unsigned 32-bits integer</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="Cardinal">
 | |
|         <short>An unsigned 32-bits integer.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="Integer">
 | |
|         <short>A signed 16-bits integer</short>
 | |
|         <descr>The system unit defines <var>Integer</var> as a signed 16-bit integer.
 | |
| But when <var>DELPHI</var> or <var>OBJFPC</var> mode are active, then
 | |
| the <file>objpas</file> unit redefines <var>Integer</var> as a 32-bit
 | |
| integer.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PChar">
 | |
|         <short>Pointer to null-terminated string.</short>
 | |
|         <descr>Or the same as a pointer to an array of char. See the reference manual for
 | |
| more information about this type.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PPChar">
 | |
|         <short>Pointer to an array of pointers to null-terminated strings.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="TAnsiChar">
 | |
|         <short>Alias for 1-byte sized char.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="AnsiChar">
 | |
|         <short>Alias for 1-byte sized char.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="PAnsiChar">
 | |
|         <short>Alias for <link id="PChar"/> type.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="PPAnsiChar">
 | |
|         <short>Alias for <link id="PPChar"/> type.</short>
 | |
|       </element>
 | |
|       <!-- "type" alias type Visibility: default -->
 | |
|       <element name="UCS4Char">
 | |
|         <short>UCS unicode character (unsigned 32 bit word)</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PUCS4Char">
 | |
|         <short>Pointer to <link id="UCS4Char"/>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="TUCS4CharArray">
 | |
|         <short>Array of <link id="UCS4Char"/> characters.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PUCS4CharArray">
 | |
|         <short>Pointer to array of <link id="UCS4Char"/> characters.</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="UCS4String">
 | |
|         <short>String of <link id="UCS4Char"/> characters.</short>
 | |
|       </element>
 | |
|       <!-- "type" alias type Visibility: default -->
 | |
|       <element name="UTF8String">
 | |
|         <short>UTF-8 unicode (ansi) string.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PUTF8String">
 | |
|         <short>Pointer to <link id="UTF8String"/>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="Currency">
 | |
|         <short>Currency type.</short>
 | |
|       </element>
 | |
|       <!-- "type" alias type Visibility: default -->
 | |
|       <element name="HRESULT">
 | |
|         <short>32-Bit signed integer.</short>
 | |
|       </element>
 | |
|       <!-- "type" alias type Visibility: default -->
 | |
|       <element name="TDateTime">
 | |
|         <short>Encoded Date-Time type.</short>
 | |
|       </element>
 | |
|       <!-- "type" alias type Visibility: default -->
 | |
|       <element name="Error">
 | |
|         <short>Generate run-time error</short>
 | |
|         <descr>
 | |
|           <var>Error</var> generates a run-time error with an exit code corresponding
 | |
| to <var>RunTimeError</var>. This function is implemented for Delphi
 | |
| compatibility, and is not used by the Free Pascal Run-Time Library.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RunError"/>
 | |
|           <link id="Halt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PSingle">
 | |
|         <short>Pointer to single-sized float value.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PDouble">
 | |
|         <short>Pointer to double-sized float value.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PCurrency">
 | |
|         <short>Pointer to currency type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PExtended">
 | |
|         <short>Pointer to extended-sized float value.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PSmallInt">
 | |
|         <short>Pointer to <link id="smallint"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PShortInt">
 | |
|         <short>Pointer to <link id="shortint"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PInteger">
 | |
|         <short>Pointer to <link id="integer"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PByte">
 | |
|         <short>Pointer to <link id="byte"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PWord">
 | |
|         <short>Pointer to <link id="word"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PDWord">
 | |
|         <short>Pointer to <link id="DWord"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PLongWord">
 | |
|         <short>Pointer to <var>LongWord</var> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PLongint">
 | |
|         <short>Pointer to <link id="Longint"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PCardinal">
 | |
|         <short>Pointer to <link id="Cardinal"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PQWord">
 | |
|         <short>Pointer to <var>QWord</var> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PInt64">
 | |
|         <short>Pointer to <var>Int64</var> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PPtrInt">
 | |
|         <short>Pointer to <link id="PtrInt"/> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PSizeInt">
 | |
|         <short>Pointer to a <link id="SizeInt"/> type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PPointer">
 | |
|         <short>Pointer to a pointer type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PPPointer">
 | |
|         <short>Pointer to a <link id="PPointer"/> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PBoolean">
 | |
|         <short>Pointer to a Boolean type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PWordBool">
 | |
|         <short>Pointer to a <var>WordBool</var> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PLongBool">
 | |
|         <short>Pointer to a <var>LongBool</var> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PShortString">
 | |
|         <short>Pointer to a shortstring type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PAnsiString">
 | |
|         <short>Pointer to an ansistring type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PDate">
 | |
|         <short>Pointer to a <link id="TDateTime"/> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PError">
 | |
|         <short>Pointer to an <link id="Error"/> type.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="WChar">
 | |
|         <short>Wide char (16-bit sized char)</short>
 | |
|       </element>
 | |
|       <!-- enumeration type Visibility: default -->
 | |
|       <element name="TTextLineBreakStyle">
 | |
|         <short>Character(s) separating lines in text (files).</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <code>tlbsLF: #10
 | |
| tlbsCRLF: #13#10
 | |
| tlbsCR: #13</code>
 | |
|           </p>
 | |
|         </descr>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="TTextLineBreakStyle.tlbsLF">
 | |
|         <short>Line-feed only (#10, unix style)</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="TTextLineBreakStyle.tlbsCRLF">
 | |
|         <short>Carriage-return, line-feed (#13#30, Windows style)</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="TTextLineBreakStyle.tlbsCR">
 | |
|         <short>Carriage-return (#13, Mac-OS style)</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TProcedure">
 | |
|         <short>Simple procedural type.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="MaxSIntValue">
 | |
|         <short>Maximum String-size value.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="MaxUIntValue">
 | |
|         <short>Maximum unsigned integer value.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="maxLongint">
 | |
|         <short>Maximum longint value.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="maxSmallint">
 | |
|         <short>Maximum smallint value.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="maxint">
 | |
|         <short>Maximum integer value.</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="IntegerArray">
 | |
|         <short>Generic array of integer. </short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PIntegerArray">
 | |
|         <short>Pointer to <link id="IntegerArray"/> type</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="PointerArray">
 | |
|         <short>Generic pointer array.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PPointerArray">
 | |
|         <short>Pointer to <link id="PointerArray"/> type</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="TBoundArray">
 | |
|         <short>Dynamic array of integer.</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="TPCharArray">
 | |
|         <short>Array of PChar</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PPCharArray">
 | |
|         <short>Pointer to <link id="TPCharArray"/> type.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="Max_Frame_Dump">
 | |
|         <short>Maximum number of frames to show in error frame dump.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="ExitProc">
 | |
|         <short>Exit procedure pointer.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="Erroraddr">
 | |
|         <short>Address where the last error occurred.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="Errorcode">
 | |
|         <short>Last error code.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fmClosed">
 | |
|         <short>File mode: File is closed.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fmInput">
 | |
|         <short>File mode: File is open for reading.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fmOutput">
 | |
|         <short>File mode: File is open for writing.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fmInOut">
 | |
|         <short>File mode: File is open for reading and writing.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fmAppend">
 | |
|         <short>File mode: File is open for writing, appending to the end.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="ProcessID">
 | |
|         <short>Current process ID.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="Filemode">
 | |
|         <short>Default file mode for untyped files.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="CmdLine">
 | |
|         <short>Current command-line.</short>
 | |
|         <p>
 | |
|           <var>Cmdline</var> returns a pointer to the current command line. The ASCIIZ
 | |
| string <var>cmdline</var> points to contains the command line arguments, separated
 | |
| by spaces. Basically, this is the DOS convention. <var>Cmdline</var> can safey be used
 | |
| under Unix. Command line arguments containing spaces will be surrounded by double
 | |
| quotes, as is done in the Dos/Windows tradition.
 | |
| Because of this, the use of <var>cmdline</var> might be undesired under Unix.</p>
 | |
|         <p>
 | |
|           <var>Cmdline</var> can be implemented either by a variable, typed constant,
 | |
| function or property. Because of this, you should not to write to it, or make
 | |
| a pointer point to it.</p>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="IsMultiThread">
 | |
|         <short>Indicates whether more than one thread is running in the application.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="StackError">
 | |
|         <short>Indicate whether there was a stack error.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="ExitCode">
 | |
|         <short>Exit code for the program, will be communicated to the OS on exit.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="RandSeed">
 | |
|         <short>Seed for <link id="Random"/> function.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="IsLibrary">
 | |
|         <short>
 | |
|           <var>True</var> if the current module is a library. Otherwise module
 | |
| is an excutable</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="IsConsole">
 | |
|         <short>
 | |
|           <var>True</var> for console applications, <var>False</var> for GUI applications.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="fpc_threadvar_relocate_proc" skip="1"/>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="ThreadID">
 | |
|         <short>Current Thread ID.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="Output">
 | |
|         <short>Standard output text file.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="Input">
 | |
|         <short>Standard input text file.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="StdOut">
 | |
|         <short>Alias for <link id="Output"/>.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="StdErr">
 | |
|         <short>Standard diagnostic output text file.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="InOutRes">
 | |
|         <short>Result of last I/O operation. Read-Only.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="StackBottom">
 | |
|         <short>Current stack bottom.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="StackLength">
 | |
|         <short>Maximum stack length.</short>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="IndexChar0">
 | |
|         <short>Return index of a character in null-terminated array of char.</short>
 | |
|         <descr>
 | |
|           <var>IndexChar0</var> returns the index of the character <var>b</var> in the
 | |
| null-terminated array <var>Buf</var>. At most <var>len</var> characters will
 | |
| be searched, or the null character if it is encountered first. If the
 | |
| character is not found, -1 is returned.
 | |
| </descr>
 | |
|         <errors>On error, -1 is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="IndexByte"/>
 | |
|           <link id="IndexChar"/>
 | |
|           <link id="IndexWord"/>
 | |
|           <link id="IndexDWord"/>
 | |
|           <link id="CompareChar0"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="CompareChar0">
 | |
|         <short>Compare two buffers character by character till a null-character is reached.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>CompareChar0</var> compares 2 buffers <var>buf1</var> and <var>buf2</var>
 | |
| for a maximum length of <var>len</var> or till a null character is reached
 | |
| in either buffer. The result depends on the contents of the buffers:
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt>< 0</dt>
 | |
|             <dd>If <var>buf1</var> contains a character less than the
 | |
| corresponding character in <var>buf2</var>.</dd>
 | |
|             <dt>0</dt>
 | |
|             <dd>If both buffers are equal</dd>
 | |
|             <dt>> 0</dt>
 | |
|             <dd>If <var>buf1</var> contains a character greater than the
 | |
| corresponding character in <var>buf2</var>.</dd>
 | |
|           </dl>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="CompareByte"/>
 | |
|           <link id="CompareChar"/>
 | |
|           <link id="CompareDWord"/>
 | |
|           <link id="CompareWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="prefetch">
 | |
|         <short>Prefetch a memory location</short>
 | |
|         <descr>
 | |
|           <var>Prefetch</var> can be used to optimize the CPU behaviour by already
 | |
| loading a memory location. It is mainly used as a hint for those processors
 | |
| that support it.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="real48">
 | |
|         <short>TP compatible real type (6 bytes) definition</short>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="strpas">
 | |
|         <short>Convert a null-terminated string to a shortstring.</short>
 | |
|         <descr>Converts a null terminated string in <var>P</var> to a Pascal string, and
 | |
| returns
 | |
| this string. The string is truncated at 255 characters.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="strlen">
 | |
|         <short>Length of a null-terminated string.</short>
 | |
|         <descr>Returns the length of the null-terminated string <var>P</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="Space">
 | |
|         <short>Return a string of spaces</short>
 | |
|         <descr>
 | |
|           <var>Space</var> returns a shortstring with length <var>B</var>, consisting
 | |
| of spaces.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="StringOfChar"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="UniqueString">
 | |
|         <short>Make sure reference count of string is 1</short>
 | |
|         <descr>
 | |
|           <var>UniqueString</var> ensures that the ansistring <var>S</var> has
 | |
| reference count 1. It makes a copy of <var>S</var> if this is necesary, and
 | |
| returns the copy in <var>S</var>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SetTextLineEnding">
 | |
|         <short>Set the end-of-line character for the given text file.</short>
 | |
|         <descr>
 | |
|           <var>SetTextLineEnding</var> sets the end-of-line character for the text
 | |
| file <var>F</var> to <var>Ending</var>. By default, this is the string
 | |
| indicated by <link id="DefaultTextLineBreakStyle"/>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="DefaultTextLineBreakStyle"/>
 | |
|           <link id="TTextLineBreakStyle"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="get_frame">
 | |
|         <short>Return the current frame</short>
 | |
|         <descr>
 | |
|           <var>get_frame</var> returns a pointer to the current stack frame.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="get_caller_addr"/>
 | |
|           <link id="get_caller_frame"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="get_caller_addr">
 | |
|         <short>Return the address of the caller.</short>
 | |
|         <descr>
 | |
|           <var>get_caller_frame</var> returns a pointer to address ( the return
 | |
| address)  of the caller  of the routine which has as frame <var>framebp</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="get_frame"/>
 | |
|           <link id="get_caller_frame"/>
 | |
|           <link id="Dump_Stack"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="get_caller_frame">
 | |
|         <short>Return the frame pointer of the caller</short>
 | |
|         <descr>
 | |
|           <var>get_caller_frame</var> returns a pointer to the frame of the caller 
 | |
| of the routine which has as frame <var>framebp</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="get_caller_addr"/>
 | |
|           <link id="get_frame"/>
 | |
|           <link id="Dump_Stack"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="Dump_Stack">
 | |
|         <short>Dump stack to the given text file.</short>
 | |
|         <descr>
 | |
|           <var>Dump_Stack</var> prints a stack dump to the file <var>f</var>, with
 | |
| base frame pointer <var>bp</var>
 | |
|         </descr>
 | |
|         <errors>The file <var>f</var> must be opened for writing or an error will occur.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="get_caller_addr"/>
 | |
|           <link id="get_caller_frame"/>
 | |
|           <link id="get_frame"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="AddExitProc">
 | |
|         <short>Add an exit procedure to the exit procedure chain.</short>
 | |
|         <descr>
 | |
|           <var>AddExitProc</var> adds <var>Proc</var> to the exit procedure chain. At
 | |
| program exit, all procedures added in this way will be called in reverse
 | |
| order.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="ExitProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SysInitExceptions">
 | |
|         <short>Initialize exceptions.</short>
 | |
|         <descr>
 | |
|           <var>SysInitExceptions</var> initializes the exception system. This
 | |
| procedure should never be called directly, it is taken care of by the RTL.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SysInitStdIO">
 | |
|         <short>Initialize standard input and output.</short>
 | |
|         <descr>
 | |
|           <var>SysInitStdIO</var> initializes the standard input and output files:
 | |
| <link id="Output"/>, <link id="Input"/> and <link id="StdErr"/>. This
 | |
| routine is called by the initialization code of the system unit, there
 | |
| should be no need to call it directly.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SysResetFPU">
 | |
|         <short>Reset the floating point unit.</short>
 | |
|         <descr>
 | |
|           <var>SysResetFPU</var> resets the floating point unit. There should normally
 | |
| be no need to call this unit; the compiler itself takes care of this.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="AbstractError">
 | |
|         <short>Generate an abstract error.</short>
 | |
|         <descr>
 | |
|           <var>AbstractError</var> generates an abstract error (run-time error 211).
 | |
| If the <link id="AbstractErrorProc"/> constant is set, it will be called
 | |
| instead.
 | |
| </descr>
 | |
|         <errors>This routine causes a run-time error 211.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="AbstractErrorProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysBackTraceStr">
 | |
|         <short>Format an address suitable for inclusion in a backtrace</short>
 | |
|         <descr>
 | |
|           <var>SysBackTraceStr</var> will create a string representation of the 
 | |
| address <var>Addr</var>, suitable for inclusion in a stack backtrace.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SysAssert">
 | |
|         <short>Standard Assert failure implementation</short>
 | |
|         <descr>
 | |
|           <var>SysAssert</var> is the standard implementation of the assertion failed
 | |
| code. It is the default value of the <var>AssertErrorProc</var> constant.
 | |
| It will print the assert message <var>Msg</var> together with the filename
 | |
| <var>FName</var> and linenumber <var>LineNo</var> to standard error output
 | |
| (<var>StdErr</var>) and will halt the program with exit code 227.
 | |
| The error address <var>ErrorAddr</var> is ignored.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="AssertErrorProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TBackTraceStrFunc">
 | |
|         <short>Type for formatting of backtrace dump.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TErrorProc">
 | |
|         <short>Standard error handler procedural type.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TAbstractErrorProc">
 | |
|         <short>Abstract error handler procedural type.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TAssertErrorProc">
 | |
|         <short>Assert error handler procedural type.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="BackTraceStrFunc">
 | |
|         <short>Standard backtrace formatting routine</short>
 | |
|         <descr>This handler is called to get a standard format for the backtrace routine.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="ErrorProc">
 | |
|         <short>Custom error handling procedure.</short>
 | |
|         <descr>
 | |
|           <p>If set, the <var>ErrorProc</var> constant is used when a run-time error
 | |
| occurs. If it is not set, then the standard error handling is done: a stack
 | |
| dump is performed, and the program exits with the indicated error code.
 | |
| </p>
 | |
|           <p>The <file>SysUtils</file> unit sets this procedure and raises an exception
 | |
| in its handler.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="TErrorProc"/>
 | |
|           <link id="Halt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="AbstractErrorProc">
 | |
|         <short>Custom abstract error handling procedure</short>
 | |
|         <descr>
 | |
|           <p>If set, the <var>AbstractErrorProc</var> constant is used when an abstract
 | |
| error occurs. If it is not set, then the standard error handling is done:
 | |
| A stack dump is performed, and the program exits with error code 211.
 | |
| </p>
 | |
|           <p>The <file>SysUtils</file> unit sets this procedure and raises an exception
 | |
| in its handler.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="TAbstractErrorProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="AssertErrorProc">
 | |
|         <short>Custom assert error handling procedure</short>
 | |
|         <descr>
 | |
|           <p>If set, the <var>AbstractErrorProc</var> constant is used when an assert
 | |
| error occurs. If it is not set, then the standard error handling is done:
 | |
| The assertion error message is printed, together with the location of the
 | |
| assertion, and A stack dump is performed, and the program exits with error code
 | |
| 227.
 | |
| </p>
 | |
|           <p>The <file>SysUtils</file> unit sets this procedure and raises an exception
 | |
| in its handler.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="jmp_buf">
 | |
|         <short>Record type to store processor information.</short>
 | |
|         <seealso>
 | |
|           <link id="setjmp"/>
 | |
|           <link id="longjmp"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="jmp_buf.ebx">
 | |
|         <short>EBX register.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="jmp_buf.esi">
 | |
|         <short>ESI register</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="jmp_buf.edi">
 | |
|         <short>EDI register</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="jmp_buf.bp">
 | |
|         <short>BP register</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="jmp_buf.sp">
 | |
|         <short>SP register</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="jmp_buf.pc">
 | |
|         <short>PC register</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PJmp_buf">
 | |
|         <short>Pointer to <link id="jmp_buf"/> record</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtInstanceSize">
 | |
|         <short>VMT Layout: Location of class instance size in VMT</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtParent">
 | |
|         <short>VMT Layout: location of pointer to parent VMT.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtClassName">
 | |
|         <short>VMT Layout: location of class name.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtDynamicTable">
 | |
|         <short>VMT Layout: location of dynamic methods table.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtMethodTable">
 | |
|         <short>VMT Layout: Method table start.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtFieldTable">
 | |
|         <short>VMT Layout: Location of fields table.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtTypeInfo">
 | |
|         <short>VMT Layout: Location of class type information.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtInitTable">
 | |
|         <short>VMT Layout: ?</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtAutoTable">
 | |
|         <short>VMT layout: ?</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtIntfTable">
 | |
|         <short>VMT layout: Interface table</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtMsgStrPtr">
 | |
|         <short>VMT layout: message strings table.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtMethodStart">
 | |
|         <short>VMT layout: start of method table.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtDestroy">
 | |
|         <short>VMT Layout: Location of destructor pointer.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtNewInstance">
 | |
|         <short>VMT Layout: location of NewInstance method.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtFreeInstance">
 | |
|         <short>VMT Layout: location of FreeInstance method.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtSafeCallException">
 | |
|         <short>VMT  Layout: ?</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtDefaultHandler">
 | |
|         <short>VMT Layout: ?</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtAfterConstruction">
 | |
|         <short>VMT Layout: ?</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtBeforeDestruction">
 | |
|         <short>VMT Layout: ?</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vmtDefaultHandlerStr">
 | |
|         <short>VMT Layout: ?</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="TextFile">
 | |
|         <short>Alias for <var>Text</var> file type.</short>
 | |
|       </element>
 | |
|       <!-- object Visibility: default -->
 | |
|       <element name="TObject">
 | |
|         <short>Parent class for all classes.</short>
 | |
|         <descr>
 | |
|           <var>TObject</var> is used as the parent class for all class definitions.
 | |
| It contains some standard methods that are available in all classes.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TClass"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- "class of" type Visibility: default -->
 | |
|       <element name="TClass">
 | |
|         <short>Class of <link id="TObject"/>.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PClass">
 | |
|         <short>Pointer to <link id="TClass"/>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TMsgStrTable">
 | |
|         <short>Record used in string message handler table.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMsgStrTable.name">
 | |
|         <short>Message name</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMsgStrTable.method">
 | |
|         <short>Method to call</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PMsgStrTable">
 | |
|         <short>Pointer to array of <link id="TMsgStrTable"/> records.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TStringMessageTable">
 | |
|         <short>String message table container for class.</short>
 | |
|         <descr>Record used to describe the string messages handled by a class.
 | |
| It consists of a count, followed by an array of <link id="TMsgStrTable"/>
 | |
| records.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TMsgStrTable"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TStringMessageTable.count">
 | |
|         <short>Number of messages in the string table.</short>
 | |
|         <descr/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TStringMessageTable.msgstrtable">
 | |
|         <short>First <link id="TMsgStrTable"/> record.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pstringmessagetable">
 | |
|         <short>Pointer to <link id="TStringMessageTable"/> record.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PGuid">
 | |
|         <short>Pointer to <link id="TGUID"/> type. </short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TGuid">
 | |
|         <short>Standard GUID representation type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pinterfaceentry">
 | |
|         <short>Pointer to <link id="tinterfaceentry"/> record.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="tinterfaceentry">
 | |
|         <short>Interfaces table entry.</short>
 | |
|         <descr>
 | |
|           <var>tinterfaceentry</var> is used to store the list of Interfaces of a
 | |
| class. This list is stored as an array of <var>tinterfaceentry</var>
 | |
| records.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tinterfaceentry.IID">
 | |
|         <short>Unique GUID for this interface.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tinterfaceentry.VTable">
 | |
|         <short>Pointer to interface VTable.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tinterfaceentry.IOffset">
 | |
|         <short>Offset</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tinterfaceentry.IIDStr">
 | |
|         <short>Pointer to GUID string. Always assigned for COM.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pinterfacetable">
 | |
|         <short>Pointer to <link id="tinterfacetable"/> record.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="tinterfacetable">
 | |
|         <short>Record to store list of interfaces of a class.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tinterfacetable.EntryCount">
 | |
|         <short>Number of interfaces.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tinterfacetable.Entries">
 | |
|         <short>Array of <link id="tinterfaceentry"/> records.</short>
 | |
|       </element>
 | |
|       <!-- object Visibility: default -->
 | |
|       <element name="TObject">
 | |
|         <short>Base class of all classes.</short>
 | |
|         <descr>
 | |
|           <var>TObject</var> is the parent root class for all classes in Object
 | |
| Pascal. If a class has no parent class explicitly declared, it is dependent
 | |
| on <var>TObject</var>. <var>TObject</var> introduces class methods that deal
 | |
| with the class' type information, and contains all necessary methods to
 | |
| create an instance at runtime, and to dispatch messages to the correct
 | |
| method (both string and integer messages).
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TClass"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constructor Visibility: public -->
 | |
|       <element name="TObject.Create">
 | |
|         <short>
 | |
|           <var>TObject</var> Constructor</short>
 | |
|         <descr>
 | |
|           <var>Create</var> creates a new instance of <var>TObject</var>. Currently it
 | |
| does nothing. It is also not virtual, so there is in principle no need to
 | |
| call it directly. 
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.Destroy">Destroy</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- destructor Visibility: public -->
 | |
|       <element name="TObject.Destroy">
 | |
|         <short>
 | |
|           <var>TObject</var> destructor.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Destroy</var> is the destructor of <var>TObject</var>. 
 | |
| It will clean up the memory assigned to the instance. Descendent classes
 | |
| should override destroy if they want to do additional clean-up. No other
 | |
| destructor should be implemented.
 | |
| </p>
 | |
|           <p>It is bad programming practice to call <var>Destroy</var> directly. It is
 | |
| better to call the <link id="TObject.Free">Free</link> method, because that
 | |
| one will check first if <var>Self</var> is different from <var>Nil</var>.
 | |
| </p>
 | |
|           <p>To clean up an instance and reset the refence to the instance, it is best to
 | |
| use the <link id="#rtl.sysutils.freeandnil">FreeAndNil</link> function.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.Create">Create</link>
 | |
|           <link id="TObject.Free">Free</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.newinstance">
 | |
|         <short>Allocate memory on the heap for a new instance</short>
 | |
|         <descr>
 | |
|           <var>NewInstance</var> allocates memory on the heap for a new instance of
 | |
| the current class. If the memory was allocated, the class will be
 | |
| initialized by a call to <link id="TObject.InitInstance">InitInstance</link>.
 | |
| The function returns the newly initialized instance.
 | |
| </descr>
 | |
|         <errors>If not enough memory is available, a <var>Nil</var> pointer may be returned, 
 | |
| or an exception may be raised.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.Create">Create</link>
 | |
|           <link id="TObject.InitInstance">InitInstance</link>
 | |
|           <link id="TObject.InstanceSize">InstanceSize</link>
 | |
|           <link id="TObject.FreeInstance">FreeInstance</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.FreeInstance">
 | |
|         <short>Clean up instance and free the memory reserved for the instance.</short>
 | |
|         <descr>
 | |
|           <var>FreeInstance</var> cleans up an instance of the current class, and
 | |
| releases the heap memory occupied by the class instance.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.Destroy">Destroy</link>
 | |
|           <link id="TObject.InitInstance">InitInstance</link>
 | |
|           <link id="TObject.NewInstance">NewInstance</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.SafeCallException">
 | |
|         <short>Handle exception object</short>
 | |
|         <descr>
 | |
|           <var>SafeCallException</var> should be overridden to handle exceptions in a
 | |
| method marked with the savecall directive. The implementation in
 | |
| <var>TObject</var> simply returns zero.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.DefaultHandler">
 | |
|         <short>Default handler for integer message handlers.</short>
 | |
|         <descr>
 | |
|           <var>DefaultHandler</var> is the default handler for messages. If a message
 | |
| has an unknown message ID (i.e. does not appear in the table with integer
 | |
| message handlers), then it will be passed to
 | |
| <var>DefaultHandler</var> by the <link id="TObject.Dispatch">Dispatch</link>
 | |
| method.
 | |
| </descr>
 | |
|         <errors/>
 | |
|         <seealso>
 | |
|           <link id="TObject.Dispatch">Dispatch</link>
 | |
|           <link id="TObject.DefaultHandlerStr">DefaultHandlerStr</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.Free">
 | |
|         <short>Check for <var>Nil</var> and call destructor.</short>
 | |
|         <descr>
 | |
|           <var>Free</var> will check the <var>Self</var> pointer and calls
 | |
| <link id="TObject.Destroy">Destroy</link> if it is different from
 | |
| <var>Nil</var>. This is a safer method than calling <var>Destroy</var>
 | |
| directly. If a reference to the object must be reset as well (a recommended
 | |
| technque), then the function <link id="#rtl.sysutils.freeandnil">FreeAndNil</link> should be called.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.Destroy">Destroy</link>
 | |
|           <link id="#rtl.sysutils.freeandnil">FreeAndNil</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.InitInstance">
 | |
|         <short>Initialize a new class instance.</short>
 | |
|         <descr>
 | |
|           <var>InitInstance</var> initializes the memory pointer to by
 | |
| <var>Instance</var>. This means that the VMT is initialized, and the
 | |
| interface pointers are set up correctly.
 | |
| The function returns the newly initialized instance.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.NewInstance">NewInstance</link>
 | |
|           <link id="TObject.Create">Create</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.CleanupInstance">
 | |
|         <short>Finalize the class instance.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>CleanUpinstance</var> finalizes the instance, i.e. takes care of all
 | |
| reference counted objects, by decreasing their reference count by 1, and
 | |
| freeing them if their count reaches zero.
 | |
| </p>
 | |
|           <p>Normally, <var>CleanupInstance</var> should never be called, it is called
 | |
| automatically when the object is freed with it's constructor.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.Destroy">Destroy</link>
 | |
|           <link id="TObject.Free">Free</link>
 | |
|           <link id="TObject.InitInstance">InitInstance</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.ClassInfo">
 | |
|         <short>Return a pointer to the type information for this class.</short>
 | |
|         <descr>
 | |
|           <var>ClassInfo</var> returns a pointer to the type information for this
 | |
| class. This pointer can be used in the various type information routines.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.ClassType">
 | |
|         <short>Return a "class of" pointer for the current class</short>
 | |
|         <descr>
 | |
|           <var>ClassType</var> returns a <link id="TClass"/> class type reference for
 | |
| the current class.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TClass"/>
 | |
|           <link id="TObject.ClassInfo">ClassInfo</link>
 | |
|           <link id="TObject.ClassName">ClassName</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.ClassName">
 | |
|         <short>Return the current class name.</short>
 | |
|         <descr>
 | |
|           <var>ClassName</var> returns the class name for the current class, in
 | |
| all-uppercase letters. To check for the class name, use the <link id="TObject.ClassNameIs">ClassNameIs</link> class method.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.ClassInfo">ClassInfo</link>
 | |
|           <link id="TObject.ClassType">ClassType</link>
 | |
|           <link id="TObject.ClassNameIs">ClassNameIs</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.ClassNameIs">
 | |
|         <short>Check whether the class name equals the given name.</short>
 | |
|         <descr>
 | |
|           <var>ClassNameIs</var> checks whether <var>Name</var> equals the class name.
 | |
| It takes of case sensitivity, i.e. it converts both names to uppercase
 | |
| before comparing.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.ClassInfo">ClassInfo</link>
 | |
|           <link id="TObject.ClassType">ClassType</link>
 | |
|           <link id="TObject.ClassName">ClassName</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.ClassParent">
 | |
|         <short>Return the parent class.</short>
 | |
|         <descr>
 | |
|           <var>ClassParent</var> returns the class of the parent class of the current
 | |
| class. This is always different from <var>Nil</var>, except for
 | |
| <var>TObject</var>.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.ClassInfo">ClassInfo</link>
 | |
|           <link id="TObject.ClassType">ClassType</link>
 | |
|           <link id="TObject.ClassName">ClassNameIs</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.InstanceSize">
 | |
|         <short>Return the size of an instance.</short>
 | |
|         <descr>
 | |
|           <var>InstanceSize</var> returns the number of bytes an instance takes in
 | |
| memory. This is Just the memory occupied by the class structure, and does
 | |
| not take into account any additional memory that might be allocated by the
 | |
| constructor of the class.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.InitInstance">InitInstance</link>
 | |
|           <link id="TObject.ClassName">ClassName</link>
 | |
|           <link id="TObject.ClassInfo">ClassInfo</link>
 | |
|           <link id="TObject.ClassType">ClassType</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.InheritsFrom">
 | |
|         <short>Chck wether class is an ancestor.</short>
 | |
|         <descr>
 | |
|           <var>InheritsFrom</var> returns <var>True</var> if <var>AClass</var> is an
 | |
| ancestor class from the current class, and returns false if it is not.
 | |
| </descr>
 | |
|         <errors/>
 | |
|         <seealso>
 | |
|           <link id="TObject.ClassName">ClassName</link>
 | |
|           <link id="TObject.ClassInfo">ClassInfo</link>
 | |
|           <link id="TObject.ClassType">ClassType</link>
 | |
|           <link id="TClass"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.StringMessageTable">
 | |
|         <short>Return a pointer to the string message table.</short>
 | |
|         <descr>
 | |
|           <var>StringMessageTable</var> returns a pointer to the string message table,
 | |
| which can be used to look up methods for dispatching a string message. It is
 | |
| used by the <link id="TObject.DispatchStr">DispatchStr</link> method.
 | |
| </descr>
 | |
|         <errors>If there are no string message handlers, nil is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.DispatchStr">DispatchStr</link>
 | |
|           <link id="TObject.Dispatch">Dispatch</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.Dispatch">
 | |
|         <short>Dispatch an integer message</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Dispatch</var> looks in the message handler table for a handler that
 | |
| handles <var>message</var>. The message is identified by the first dword
 | |
| (cardinal) in the message structure.
 | |
| </p>
 | |
|           <p>If no matching message handler is found, the message is passed to the
 | |
| <link id="TObject.DefaultHandler">DefaultHandler</link> method, which can be
 | |
| overridden by descendent classes to add custom handling of messages.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.DispatchStr">DispatchStr</link>
 | |
|           <link id="TObject.DefaultHandler">DefaultHandler</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.DispatchStr">
 | |
|         <short>Dispatch a string message.</short>
 | |
|         <descr>
 | |
|           <var>DispatchStr</var> extracts the message identifier from
 | |
| <var>Message</var> and checks the message handler table to see if a handler
 | |
| for the message is found, and calls the handler, passing along the message. 
 | |
| If no handler is found, the default <link id="TObject.DefaultHandlerStr">DefaultHandlerStr</link> 
 | |
| is called.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.DefaultHandlerStr">DefaultHandlerStr</link>
 | |
|           <link id="TObject.Dispatch">Dispatch</link>
 | |
|           <link id="TObject.DefaultHandler">DefaultHandler</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.MethodAddress">
 | |
|         <short>Return the address of a method</short>
 | |
|         <descr>
 | |
|           <var>MethodAddress</var> returns the address of a method, searching the
 | |
| method by its name. The <var>Name</var> parameter specifies which method
 | |
| should be taken. The search is conducted in a case-insensitive manner.
 | |
| </descr>
 | |
|         <errors>If no matching method is found, <var>Nil</var> is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.MethodName">MethodName</link>
 | |
|           <link id="TObject.FieldAddress">FieldAddress</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.MethodName">
 | |
|         <short>Return the name of a method.</short>
 | |
|         <descr>
 | |
|           <var>MethodName</var> searches the VMT for a method with the specified 
 | |
| <var>address</var> and returns the name of the method.
 | |
| </descr>
 | |
|         <errors>If no method with the matching address is found, an empty string is
 | |
| returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.MethodAddress">MethodAddress</link>
 | |
|           <link id="TObject.FieldAddress">FieldAddress</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: public -->
 | |
|       <element name="TObject.FieldAddress">
 | |
|         <short>Return the address of a field.</short>
 | |
|         <descr>
 | |
|           <var>FieldAddress</var> returns the address of the field with name <var>name</var>. 
 | |
| The address is the address of the field in the current class instance.
 | |
| </descr>
 | |
|         <errors>If no field with the specified name is found, <var>Nil</var> is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.MethodAddress">MethodAddress</link>
 | |
|           <link id="TObject.MethodName">MethodName</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.AfterConstruction">
 | |
|         <short>Method called after the constructor was called.</short>
 | |
|         <descr>
 | |
|           <var>AfterConstruction</var> is a method called after the constructor was
 | |
| called. It does nothing in the implementation of <var>TObject</var> and must
 | |
| be overridden by descendent classes to provide specific behaviour that is
 | |
| executed after the constructor has finished executing. (for instance, call
 | |
| an event handler)
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.BeforeDestruction">BeforeDestruction</link>
 | |
|           <link id="TObject.Create">Create</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.BeforeDestruction">
 | |
|         <short>Method called before the destructor is called.</short>
 | |
|         <descr>
 | |
|           <var>BeforeDestruction</var> is a method called before the destructor is
 | |
| called. It does nothing in the implementation of <var>TObject</var> and must
 | |
| be overridden by descendent classes to provide specific behaviour that is
 | |
| executed before the destructor has finished executing. (for instance, call
 | |
| an event handler)
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.AfterConstruction">AfterConstruction</link>
 | |
|           <link id="TObject.Destroy">Destroy</link>
 | |
|           <link id="TObject.Free">Free</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: public -->
 | |
|       <element name="TObject.DefaultHandlerStr">
 | |
|         <short>Default handler for string messages.</short>
 | |
|         <descr>
 | |
|           <var>DefaultHandlerStr</var> is called for string messages which have no
 | |
| handler associated with them in the string message handler table. The
 | |
| implementation of <var>DefaultHandlerStr</var> in <var>TObject</var> does
 | |
| nothing and mut be overridden by descendent classes to provide specific
 | |
| message handling behaviour.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.DispatchStr">DispatchStr</link>
 | |
|           <link id="TObject.Dispatch">Dispatch</link>
 | |
|           <link id="TObject.DefaultHandler">DefaultHandler</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TExceptProc">
 | |
|         <short>Exception handler procedural type</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PExceptObject">
 | |
|         <short>Pointer to Exception handler procedural type <link id="TExceptProc"/>
 | |
|         </short>
 | |
|         <descr/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TExceptObject">
 | |
|         <short>Exception object</short>
 | |
|         <descr>
 | |
|           <var>TExceptObject</var> is the exception description record which is found
 | |
| on the exception stack.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TExceptObject.FObject">
 | |
|         <short>Exception instance.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TExceptObject.Addr">
 | |
|         <short>Address where exception occurred</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TExceptObject.Frame">
 | |
|         <short>Exception frame where exception occurred</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TExceptObject.Next">
 | |
|         <short>Next exception object on the stack.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TExceptObject.refcount">
 | |
|         <short>Reference count for this exception object</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="ExceptProc">
 | |
|         <short>Current exception handling procedure.</short>
 | |
|         <descr>
 | |
|           <p>This constant points to the current exception handling procedure. 
 | |
| This routine is called when an unhandled exception occurs, i.e. an exception
 | |
| that is not stopped by a except block.
 | |
| </p>
 | |
|           <p>If the handler is not set, the RTL will emit a run-time error 217 when an
 | |
| unhandler exception occurs.
 | |
| </p>
 | |
|           <p>It is set by the <link id="#rtl.sysutils">sysutils</link> unit. 
 | |
| </p>
 | |
|         </descr>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="RaiseProc">
 | |
|         <short>Procedure to raise an exception.</short>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RaiseList">
 | |
|         <short>List of currently raised exceptions.</short>
 | |
|         <descr>
 | |
|           <var>RaiseList</var> returns a pointer to the list of currently raised
 | |
| exceptions (i.e. a pointer to the first exception block.
 | |
| </descr>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="AcquireExceptionObject">
 | |
|         <short>Obtain a reference to the current exception object</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>AcquireExceptionObject</var> returns the current exception object.
 | |
| It raises the reference count of the exception object, so it will not be
 | |
| freed.  Calling this method is only valid within an except block.
 | |
| </p>
 | |
|           <p>The effect of this function is countered by re-raising an exception
 | |
| via <var>raise;</var>
 | |
|           </p>
 | |
|           <p>To make sure that the exception object is released when it is no longer
 | |
| needed, <link id="ReleaseExceptionObject"/> must be called when the 
 | |
| reference is no longer needed.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If there is no current exception, a run-time error 231 will occur.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="ReleaseExceptionObject"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="ReleaseExceptionObject">
 | |
|         <short>Decrease the reference count of the current exception object.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>ReleaseExceptionObject</var> decreases the reference count of the
 | |
| current exception object. This should be called whenever a reference to the
 | |
| exception object was obtained via the <link id="AcquireExceptionObject"/>
 | |
| call.
 | |
| </p>
 | |
|           <p>Calling this method is only valid within an except block.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If there is no current exception object, a run-time error 231 will occur.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="AcquireExceptionObject"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtInteger">
 | |
|         <short>TVarRec type: Integer</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtBoolean">
 | |
|         <short>TVarRec type: Boolean</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtChar">
 | |
|         <short>TVarRec type: Char</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtExtended">
 | |
|         <short>TVarRec type: Extended</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtString">
 | |
|         <short>TVarRec type: String</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtPointer">
 | |
|         <short>TVarRec type: pointer</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtPChar">
 | |
|         <short>TVarRec type: PChar</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtObject">
 | |
|         <short>TVarRec type: Object instance</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtClass">
 | |
|         <short>TVarRec type: Class type</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtWideChar">
 | |
|         <short>TVarRec type: Widechar</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtPWideChar">
 | |
|         <short>TVarRec type: PWideChar</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtAnsiString">
 | |
|         <short>TVarRec type: Ansistring</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtCurrency">
 | |
|         <short>TVarRec type: Currency</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtVariant">
 | |
|         <short>TVarRec type: Variant</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtInterface">
 | |
|         <short>TVarRec type: Interface</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtWideString">
 | |
|         <short>TVarRec type: WideString</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtInt64">
 | |
|         <short>TVarRec type: Int64 (signed 64-bit integer)</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vtQWord">
 | |
|         <short>TVarRec type: QWord (unsigned 64-bit integer)</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PVarRec">
 | |
|         <short>Pointer to <link id="TVarRec"/> type.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TVarRec">
 | |
|         <short>Record describing an element in an array of const</short>
 | |
|         <descr>
 | |
|           <var>TVarRec</var> is a record generated by the compiler for each element in
 | |
| a <var>array of const</var> call. The procedure that receives the constant
 | |
| array receives an array of <var>TVarRec</var> elements, with lower bound zero
 | |
| and high bound equal to the number of elements in the array minus one
 | |
| (as returned by <var>High(Args)</var>)
 | |
| </descr>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="tdynarrayindex">
 | |
|         <short>Type with the correct size for index into a dynamic array.</short>
 | |
|         <descr>A variable of type <var>tdynarrayindex</var> will always have the correct
 | |
| size, suitable for serving as an index in a dynamic array.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pdynarrayindex">
 | |
|         <short>Pointer to <link id="tdynarrayindex"/> type.</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="fpc_big_chararray" skip="1">
 | |
|         <short>Array of char.</short>
 | |
|         <descr/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="fpc_small_set" skip="1">
 | |
|         <short>Type with the size of a small set</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="fpc_normal_set" skip="1">
 | |
|         <short>Type with the size of a normal set</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PMemoryManager">
 | |
|         <short>Pointer to <link id="TMemoryManager"/> record</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TMemoryManager">
 | |
|         <short>Record describing the current memory manager</short>
 | |
|         <descr>
 | |
|           <var>TMemoryManager</var> describes the memory manager. For more information
 | |
| about the memory manager, see the programmer's reference. 
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.NeedLock">
 | |
|         <short>Does the memory manager require a lock</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.Getmem">
 | |
|         <short>Function called when memory must be allocated on the heap.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.Freemem">
 | |
|         <short>Function called when previously allocated memory can be freed again.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.FreememSize">
 | |
|         <short>Function called when previously allocated memory with a known size can be freed again.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.AllocMem">
 | |
|         <short>Same as getmem, but additionally clear the allocated memory (filled with 0 bytes).</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.ReAllocMem">
 | |
|         <short>Handler called when an allocated  memory block should be resized</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.MemSize">
 | |
|         <short>Return the size of a memory block.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.GetHeapStatus">
 | |
|         <short>Handler called when the heap status must be reported.</short>
 | |
|       </element>
 | |
|       <element name="GetHeapStatus">
 | |
|         <short>Return the memory manager heap status.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TMemoryMutexManager">
 | |
|         <short>Record describing the mutex manager for the heap.</short>
 | |
|         <descr>When the heapmanager needs a lock, then the mutex manager is used to handle
 | |
| the lock.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryMutexManager.MutexInit">
 | |
|         <short>Initialize the mutex</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryMutexManager.MutexDone">
 | |
|         <short>Finalize (i.e. dispose of) the mutex.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryMutexManager.MutexLock">
 | |
|         <short>Lock the mutex</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryMutexManager.MutexUnlock">
 | |
|         <short>Unlock the mutex.</short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SetMemoryMutexManager">
 | |
|         <short>Procedure to set the mutex manager.</short>
 | |
|         <descr>
 | |
|           <var>SetMemoryMutexManager</var> sets the mutex manager used by the memory
 | |
| manager to <var>MutexMgr</var>. The current mutex manager is returned in
 | |
| <var>MutexMgr</var>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TMemoryMutexManager"/>
 | |
|           <link id="SetMemoryManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="growheapsizesmall">
 | |
|         <short>Fixed size small blocks grow rate</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="growheapsize1">
 | |
|         <short>Grow rate for block less than 256 Kb.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="growheapsize2">
 | |
|         <short>Grow rate for block larger than 256 Kb.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="ReturnNilIfGrowHeapFails">
 | |
|         <short>Describe behaviour if getmem fails.</short>
 | |
|         <descr>
 | |
|           <var>ReturnNilIfGrowHeapFails</var> describes what happens if there is no
 | |
| more memory available from the operating system. if set to <var>True</var>
 | |
| the memory manager will return <var>Nil</var>. If set to <var>False</var>
 | |
| then a run-time error will occur.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysGetmem">
 | |
|         <short>System memory manager memory allocator.</short>
 | |
|         <descr>
 | |
|           <var>SysGetmem</var> is the system memory manager implementation for <link id="GetMem"/>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="GetMem"/>
 | |
|           <link id="GetMemory"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysFreemem">
 | |
|         <short>System memory manager free routine.</short>
 | |
|         <descr>
 | |
|           <var>SysFreeem</var> is the system memory manager implementation for <link id="FreeMem"/>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="FreeMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysFreememSize">
 | |
|         <short>System memory manager free routine.</short>
 | |
|         <descr>
 | |
|           <var>SysFreemSize</var> is the system memory manager implementation for <link id="FreeMem"/>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="MemSize"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysMemSize">
 | |
|         <short>System memory manager: free size.</short>
 | |
|         <descr>
 | |
|           <var>SysFreemSize</var> is the system memory manager implementation for
 | |
| <link id="MemSize"/>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="MemSize"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysAllocMem">
 | |
|         <short>System memory manager: Allocate memory</short>
 | |
|         <descr>
 | |
|           <var>SysFreemSize</var> is the system memory manager implementation for
 | |
| <link id="AllocMem"/>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="AllocMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysTryResizeMem">
 | |
|         <short>System memory manager: attempt to resize memory.</short>
 | |
|         <descr>
 | |
|           <var>SysTryResizeMem</var> is a help routine for the system memory 
 | |
| manager implementation for <link id="ReAllocMem"/>, <link id="SysReAllocMem"/>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="SysReAllocMem"/>
 | |
|           <link id="ReAllocMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysReAllocMem">
 | |
|         <short>System memory manager: Reallocate memory</short>
 | |
|         <descr>
 | |
|           <var>SysReallocMem</var> is a help routine for the system memory
 | |
| manager implementation for <link id="ReAllocMem"/>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="ReAllocMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="Getmemory">
 | |
|         <short>Alias for <link id="GetMem"/>
 | |
|         </short>
 | |
|         <descr>
 | |
|           <var>Getmemory</var> is an alias for <link id="GetMem"/>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="Freememory">
 | |
|         <short>Alias for <link id="FreeMem"/>
 | |
|         </short>
 | |
|         <descr>
 | |
|           <var>FreeMemory</var> is an alias for <link id="FreeMem"/>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="FreeMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="MemSize">
 | |
|         <short>Return the size of a memory block.</short>
 | |
|         <descr>
 | |
|           <var>MemSize</var> returns the size of a memory block on the heap.
 | |
| </descr>
 | |
|         <errors>Passing an invalid pointer may lead to run-time errors (access violations).
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="GetMem"/>
 | |
|           <link id="FreeMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="AllocMem">
 | |
|         <short>Allocate and clear memory.</short>
 | |
|         <descr>
 | |
|           <var>AllocMem</var> calls getmem <link id="GetMem"/>, and clears the
 | |
| allocated memory, i.e. the allocated memory is filled with <var>Size</var> zero bytes.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="ReAllocMem">
 | |
|         <short>Re-allocate memory on the heap</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>ReAllocMem</var> resizes the memory pointed to by <var>P</var> so it has size
 | |
| <var>Size</var>. The value of <var>P</var> may change during this operation.
 | |
| The contents of the memory pointed to by <var>P</var> (if any) will be copied to
 | |
| the new location, but may be truncated if the newly allocated memory block
 | |
| is smaller in size. If a larger block is allocated, only the used memory is
 | |
| initialized, extra memory will not be zeroed out.
 | |
| </p>
 | |
|           <p>Note that <var>P</var> may be nil, in that case the behaviour of
 | |
| <var>ReAllocMem</var> is equivalent to <var>Getmem</var>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="GetMem"/>
 | |
|           <link id="FreeMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="ReAllocMemory">
 | |
|         <short>Alias for <link id="ReAllocMem"/>
 | |
|         </short>
 | |
|         <descr>
 | |
|           <var>ReAllocMemory</var> is an alias for <link id="ReAllocMem"/>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="ReAllocMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="AsmGetmem">
 | |
|         <short>Routine that can be called from assembler routines to get memory.</short>
 | |
|         <descr>
 | |
|           <var>AsmGetmem</var> is a routine that can be called from assembler code to
 | |
| get memory. The assembler reader cannot decide which overloaded <link id="GetMem"/> call should be used. <var>AsmGetMem</var> provides a unique
 | |
| name that can be called from assembler. Other than that it is completely
 | |
| equivalent to <var>GetMem</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetMem"/>
 | |
|           <link id="AsmFreeMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="AsmFreemem">
 | |
|         <short>Routine that can be called from assembler routines to release memory.</short>
 | |
|         <descr>
 | |
|           <var>AsmFreemem</var> is a routine that can be called from assembler code to
 | |
| release previously alocated memory. The assembler reader cannot decide which 
 | |
| overloaded <link id="FreeMem"/> call should be used. <var>AsmFreeMem</var> 
 | |
| provides a unique name that can be called from assembler. Other than that it 
 | |
| is completely equivalent to <var>FreeMem</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="FreeMem"/>
 | |
|           <link id="AsmGetMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="THandle">
 | |
|         <short>Type alias.</short>
 | |
|         <descr>This type should be considered opaque. It is used to describe file and other
 | |
| handles.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="LineEnding">
 | |
|         <short>Constant describing the current line ending character.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>LineEnding</var> is a constant which contains the current line-ending
 | |
| character. This character is system dependent, and is initialized by the
 | |
| system. It should not be set.
 | |
| </p>
 | |
|           <p>This constant is part of a set of constants that describe the OS
 | |
| characteristics. These constants should be used instead of hardcoding 
 | |
| OS characteristics.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="DirectorySeparator"/>
 | |
|           <link id="LFNSupport"/>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="sLineBreak"/>
 | |
|           <link id="FileNameCaseSensitive"/>
 | |
|           <link id="DefaultTextLineBreakStyle"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="LFNSupport">
 | |
|         <short>COnstant describing support for long filenames.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>LFNSupport</var> determines whether the current OS supports long file
 | |
| names, i.e. filenames that are not of the form 8.3 as on ancient DOS
 | |
| systems. If the value of this constant is <var>True</var> then long
 | |
| filenames are supported. If it is false, then not.
 | |
| </p>
 | |
|           <p>This constant is part of a set of constants that describe the OS
 | |
| characteristics. These constants should be used instead of hardcoding 
 | |
| OS characteristics.
 | |
| </p>
 | |
|         </descr>
 | |
|         <link id="DriveSeparator"/>
 | |
|         <link id="DirectorySeparator"/>
 | |
|         <link id="LineEnding"/>
 | |
|         <link id="PathSeparator"/>
 | |
|         <link id="FileNameCaseSensitive"/>
 | |
|         <link id="DefaultTextLineBreakStyle"/>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="DirectorySeparator">
 | |
|         <short>Character used to separate directory parts.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>DirectorySeparator</var> is the character used by the current operating
 | |
| system to separate directory parts in a pathname. This constant is system
 | |
| dependent, and should not be set.
 | |
| </p>
 | |
|           <p>This constant is part of a set of constants that describe the OS
 | |
| characteristics. These constants should be used instead of hardcoding 
 | |
| OS characteristics.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="LineEnding"/>
 | |
|           <link id="LFNSupport"/>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="FileNameCaseSensitive"/>
 | |
|           <link id="DefaultTextLineBreakStyle"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="DriveSeparator">
 | |
|         <short>Character used to separate directory parts.</short>
 | |
|         <descr>
 | |
|           <p>On systems that support driveletters, the <var>DriveSeparator</var> constant
 | |
| denotes the character that separates the drive indicator from the directory
 | |
| part in a filename path.
 | |
| </p>
 | |
|           <p>This constant is part of a set of constants that describe the OS
 | |
| characteristics. These constants should be used instead of hardcoding 
 | |
| OS characteristics.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="DirectorySeparator"/>
 | |
|           <link id="LineEnding"/>
 | |
|           <link id="LFNSupport"/>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="FileNameCaseSensitive"/>
 | |
|           <link id="DefaultTextLineBreakStyle"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="PathSeparator">
 | |
|         <short>Character used to separate paths in a search list</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>PathSeparator</var> is the character used commonly on the current
 | |
| operating system to separate paths in a list of paths, such as the 
 | |
| <var>PATH</var> environment variable. 
 | |
| </p>
 | |
|           <p>This constant is part of a set of constants that describe the OS
 | |
| characteristics. These constants should be used instead of hardcoding 
 | |
| OS characteristics.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="DirectorySeparator"/>
 | |
|           <link id="LineEnding"/>
 | |
|           <link id="LFNSupport"/>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="FileNameCaseSensitive"/>
 | |
|           <link id="DefaultTextLineBreakStyle"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="FileNameCaseSensitive">
 | |
|         <short>OS treatment of filenames is case sensitive.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>FileNameCaseSensitive</var> is <var>True</var> if case is important
 | |
| when using filenames on the current OS. In this case, the OS will treat 
 | |
| files with different cased names as different files. Note that this may 
 | |
| depend on the filesystem: Unix operating systems that access a DOS or
 | |
| Windows partition will have this constant set to true, but when writing to
 | |
| the DOS partition, the casing is ignored.
 | |
| </p>
 | |
|           <p>This constant is part of a set of constants that describe the OS
 | |
| characteristics. These constants should be used instead of hardcoding 
 | |
| OS characteristics.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="DirectorySeparator"/>
 | |
|           <link id="LineEnding"/>
 | |
|           <link id="LFNSupport"/>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="FileNameCaseSensitive"/>
 | |
|           <link id="DefaultTextLineBreakStyle"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="sLineBreak">
 | |
|         <short>Alias for <link id="LineEnding"/>
 | |
|         </short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>sLineBreak</var> is an alias for <link id="LineEnding"/> and is
 | |
| supplied for Delphi compatibility.
 | |
| </p>
 | |
|           <p>This constant is part of a set of constants that describe the OS
 | |
| characteristics. These constants should be used instead of hardcoding 
 | |
| OS characteristics.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="DirectorySeparator"/>
 | |
|           <link id="LineEnding"/>
 | |
|           <link id="LFNSupport"/>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="FileNameCaseSensitive"/>
 | |
|           <link id="DefaultTextLineBreakStyle"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="DefaultTextLineBreakStyle">
 | |
|         <short>Default line ending style.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>DefaultTextLineBreakStyle</var> contains the default OS setting for the
 | |
| <link id="TTextLineBreakStyle"/> type. It is initizliaed by the system unit,
 | |
| and is used to determine the default line ending when writing to text files.
 | |
| </p>
 | |
|           <p>This constant is part of a set of constants that describe the OS
 | |
| characteristics. These constants should be used instead of hardcoding 
 | |
| OS characteristics.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="SetTextLineEnding"/>
 | |
|           <link id="TTextLineBreakStyle"/>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="DirectorySeparator"/>
 | |
|           <link id="LineEnding"/>
 | |
|           <link id="LFNSupport"/>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="FileNameCaseSensitive"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="maxExitCode">
 | |
|         <short>Maximum exit code supported by the operating system.</short>
 | |
|         <descr>
 | |
|           <var>maxExitCode</var> is the maximum value for the <link id="Halt"/> call.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="Halt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="UnusedHandle">
 | |
|         <short>Value indicating an unused file handle (as reported by the OS).</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="StdInputHandle">
 | |
|         <short>Value of the OS handle for the standard input file.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="StdOutputHandle">
 | |
|         <short>Value of the OS handle for the standard output file.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="StdErrorHandle">
 | |
|         <short>Value of the OS handle for the standard error-output file.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="argc" skip="1">
 | |
|         <short>Number of command-line arguments.</short>
 | |
|         <descr>
 | |
|           <var>argc</var> contains the number of command-line arguments passed to
 | |
| the program by the OS. It is not available on all systems.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="argv"/>
 | |
|           <link id="envp"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="argv">
 | |
|         <short>Pointer to the array of command-line arguments</short>
 | |
|         <descr>
 | |
|           <var>argv</var> contains a pointer to a <var>nil</var>-terminated 
 | |
| array of null-terminated strings, containing the command-line 
 | |
| arguments passed to the program by the OS. It is not available 
 | |
| on all systems.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="argc"/>
 | |
|           <link id="envp"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="envp">
 | |
|         <short>Pointer to the array of environment variables</short>
 | |
|         <descr>
 | |
|           <var>envp</var> contains a pointer to a <var>nil</var>-terminated
 | |
| array of null-terminated strings, containing the environment variables
 | |
| passed to the program by the OS. It is not available on all systems.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="argc"/>
 | |
|           <link id="argv"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="SizeInt">
 | |
|         <short>Signed integer type which fits for sizes</short>
 | |
|         <seealso>
 | |
|           <link id="SizeUInt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="SizeUInt">
 | |
|         <short>Unsigned Integer type which fits for sizes</short>
 | |
|         <seealso>
 | |
|           <link id="SizeInt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="PtrInt">
 | |
|         <short>Signed integer type with same size as Pointer.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Ptrint</var> is a signed integer type which has always the same size as a
 | |
| pointer. Ptrint is considered harmfull and should almost never be used in actual
 | |
| code, because pointers are normally unsigned. For example, consider the following
 | |
| code:
 | |
| </p>
 | |
|           <code>getmem(p,2048);                 {Assume the address of p becomes $7ffffff0.}
 | |
| q:=pointer(ptrint(p)+1024));    {Overflow error.}
 | |
| writeln(q>p);                   {Incorrect answer.}
 | |
| </code>
 | |
|           <p>Ptrint might have a valid use when two pointers are substracted from each other if
 | |
| it is unknown which pointer has the largest address. However, even in this case
 | |
| ptrint causes trouble in case the distance is larger than high(ptrint) and must be
 | |
| used with great care.
 | |
| </p>
 | |
|           <p>The introduction of the <var>ptrint</var> type was a mistake. Please use
 | |
| <link id="ptruint"/> instead.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="ptruInt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="PtrUInt">
 | |
|         <short>Unsigned integer type with same size as Pointer.</short>
 | |
|         <descr>
 | |
|           <var>PtrUInt</var> is an unsigned integer type which has always the same size as a
 | |
| pointer. When using integers which will be cast to pointers and vice versa,
 | |
| use this type, never the regular Cardinal type.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="ValSInt">
 | |
|         <short>Val-Signed integer.</short>
 | |
|         <descr>Integer with the same size as the return code of the <link id="Val"/>
 | |
| function.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="Val"/>
 | |
|           <link id="ValUInt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="ValUInt">
 | |
|         <short>Val-unsigned integer</short>
 | |
|         <descr>Integer with the same size as the return code of the <link id="Val"/>
 | |
| function.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="Val"/>
 | |
|           <link id="ValUInt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PVariant">
 | |
|         <short>Pointer to <var>Variant</var> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="POleVariant">
 | |
|         <short>Pointer to <var>OleVariant</var> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PWideChar">
 | |
|         <short>Pointer to <link id="WChar"/>.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PPWideChar">
 | |
|         <short>Pointer to link id="PWideChar"> type.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="UCS2Char">
 | |
|         <short>UCS2 unicode character.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="PUCS2Char">
 | |
|         <short>Pointer to <link id="UCS2Char"/> character.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PText">
 | |
|         <short>Pointer to text file.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="ErrOutput">
 | |
|         <short>Alias for <link id="StdErr"/>
 | |
|         </short>
 | |
|         <descr>
 | |
|           <var>ErrOutput</var> is provided for Delphi compatibility.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="StdErr"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_lo_word">
 | |
|         <short>FPC compiler internal procedure index: lo (word)</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_hi_word">
 | |
|         <short>FPC compiler internal procedure index: hi (word)</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_lo_long">
 | |
|         <short>FPC compiler internal procedure index: lo (long)</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_hi_long">
 | |
|         <short>FPC compiler internal procedure index: hi (long)</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_ord_x">
 | |
|         <short>FPC compiler internal procedure index: ord </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_length_string">
 | |
|         <short>FPC compiler internal procedure index: length</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_chr_byte">
 | |
|         <short>FPC compiler internal procedure index: chr</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_write_x">
 | |
|         <short>FPC compiler internal procedure index: write</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_writeln_x">
 | |
|         <short>FPC compiler internal procedure index: writeln</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_read_x">
 | |
|         <short>FPC compiler internal procedure index: read</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_readln_x">
 | |
|         <short>FPC compiler internal procedure index: readln</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_concat_x">
 | |
|         <short>FPC compiler internal procedure index: concat </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_assigned_x">
 | |
|         <short>FPC compiler internal procedure index: assigned </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_str_x_string">
 | |
|         <short>FPC compiler internal procedure index: str </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_ofs_x">
 | |
|         <short>FPC compiler internal procedure index: ofs </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_sizeof_x">
 | |
|         <short>FPC compiler internal procedure index: sizeof </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_typeof_x">
 | |
|         <short>FPC compiler internal procedure index: typeof </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_val_x">
 | |
|         <short>FPC compiler internal procedure index: val </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_reset_x">
 | |
|         <short>FPC compiler internal procedure index: reset </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_rewrite_x">
 | |
|         <short>FPC compiler internal procedure index: rewrite </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_low_x">
 | |
|         <short>FPC compiler internal procedure index: low </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_high_x">
 | |
|         <short>FPC compiler internal procedure index: high </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_seg_x">
 | |
|         <short>FPC compiler internal procedure index: seg </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_pred_x">
 | |
|         <short>FPC compiler internal procedure index: pred </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_succ_x">
 | |
|         <short>FPC compiler internal procedure index: succ </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_reset_typedfile">
 | |
|         <short>FPC compiler internal procedure index: reset </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_rewrite_typedfile">
 | |
|         <short>FPC compiler internal procedure index: rewrite </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_settextbuf_file_x">
 | |
|         <short>FPC compiler internal procedure index: settextbuf </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_inc_x">
 | |
|         <short>FPC compiler internal procedure index: inc </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_dec_x">
 | |
|         <short>FPC compiler internal procedure index: dec </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_include_x_y">
 | |
|         <short>FPC compiler internal procedure index:  include </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_exclude_x_y">
 | |
|         <short>FPC compiler internal procedure index: exclude </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_break">
 | |
|         <short>FPC compiler internal procedure index: break </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_continue">
 | |
|         <short>FPC compiler internal procedure index: continue </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_assert_x_y">
 | |
|         <short>FPC compiler internal procedure index: assert </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_addr_x">
 | |
|         <short>FPC compiler internal procedure index: addr </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_typeinfo_x">
 | |
|         <short>FPC compiler internal procedure index: typeinfo </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_setlength_x">
 | |
|         <short>FPC compiler internal procedure index: setlength </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_finalize_x">
 | |
|         <short>FPC compiler internal procedure index: finalize </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_new_x">
 | |
|         <short>FPC compiler internal procedure index: new </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_dispose_x">
 | |
|         <short>FPC compiler internal procedure index: dispose  </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_exit">
 | |
|         <short>FPC compiler internal procedure index: exit </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_copy_x">
 | |
|         <short>FPC compiler internal procedure index: copy  </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_initialize_x">
 | |
|         <short>FPC compiler internal procedure index: initialize </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_leave">
 | |
|         <short>FPC compiler internal procedure index: leave </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_cycle">
 | |
|         <short>FPC compiler internal procedure index: cycle </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_trunc">
 | |
|         <short>FPC compiler internal procedure index: trunc </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_round">
 | |
|         <short>FPC compiler internal procedure index: round </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_frac">
 | |
|         <short>FPC compiler internal procedure index: frac </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_abs">
 | |
|         <short>FPC compiler internal procedure index: abs </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_int">
 | |
|         <short>FPC compiler internal procedure index: int </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_sqr">
 | |
|         <short>FPC compiler internal procedure index: sqr </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_odd">
 | |
|         <short>FPC compiler internal procedure index: sqr </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_ptr">
 | |
|         <short>FPC compiler internal procedure index: sqr </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_swap_word">
 | |
|         <short>FPC compiler internal procedure index: swap (word) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_swap_long">
 | |
|         <short>FPC compiler internal procedure index: swap (long) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_pi">
 | |
|         <short>FPC compiler internal procedure index: pi </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_sqrt">
 | |
|         <short>FPC compiler internal procedure index: sqrt </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_arctan">
 | |
|         <short>FPC compiler internal procedure index: arctan </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_cos">
 | |
|         <short>FPC compiler internal procedure index: cos </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_exp">
 | |
|         <short>FPC compiler internal procedure index: exp </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_ln">
 | |
|         <short>FPC compiler internal procedure index: in </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_sin">
 | |
|         <short>FPC compiler internal procedure index: sin </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_lo_qword">
 | |
|         <short>FPC compiler internal procedure index: lo (qword)  </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_hi_qword">
 | |
|         <short>FPC compiler internal procedure index: hi (qword) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_cos_real">
 | |
|         <short>FPC compiler internal procedure index: cos (real) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_pi">
 | |
|         <short>FPC compiler internal procedure index: pi </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_abs_real">
 | |
|         <short>FPC compiler internal procedure index: abs (real) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_sqr_real">
 | |
|         <short>FPC compiler internal procedure index: sqr (real) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_sqrt_real">
 | |
|         <short>FPC compiler internal procedure index: sqrt (real) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_arctan_real">
 | |
|         <short>FPC compiler internal procedure index: arctan (real) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_ln_real">
 | |
|         <short>FPC compiler internal procedure index: ln (real) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_sin_real">
 | |
|         <short>FPC compiler internal procedure index: sin (real) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_const_swap_qword">
 | |
|         <short>FPC compiler internal procedure index: swap (qword) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_prefetch_var">
 | |
|         <short>FPC compiler internal procedure index: prefetch  </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_mmx_pcmpeqb">
 | |
|         <short>FPC compiler internal procedure index: MMX </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_mmx_pcmpeqw">
 | |
|         <short>FPC compiler internal procedure index: MMX </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_mmx_pcmpeqd">
 | |
|         <short>FPC compiler internal procedure index: MMX </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_mmx_pcmpgtb">
 | |
|         <short>FPC compiler internal procedure index: MMX </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_mmx_pcmpgtw">
 | |
|         <short>FPC compiler internal procedure index: MMX </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_mmx_pcmpgtd">
 | |
|         <short>FPC compiler internal procedure index: MMX </short>
 | |
|       </element>
 | |
|       <element name="fpc_abs_real">
 | |
|         <short>FPC internal compiler routine: abs_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_AbstractErrorIntern">
 | |
|         <short>FPC internal compiler routine: AbstractErrorIntern</short>
 | |
|       </element>
 | |
|       <element name="fpc_Addref">
 | |
|         <short>FPC internal compiler routine: Addref</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_append_ansistring">
 | |
|         <short>FPC internal compiler routine: ansistr_append_ansistring</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_append_char">
 | |
|         <short>FPC internal compiler routine: ansistr_append_char</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_append_shortstring">
 | |
|         <short>FPC internal compiler routine: ansistr_append_shortstring</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_Assign">
 | |
|         <short>FPC internal compiler routine: AnsiStr_Assign</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_CheckRange">
 | |
|         <short>FPC internal compiler routine: AnsiStr_CheckRange</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_CheckZero">
 | |
|         <short>FPC internal compiler routine: AnsiStr_CheckZero</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_Compare">
 | |
|         <short>FPC internal compiler routine: AnsiStr_Compare</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_Concat">
 | |
|         <short>FPC internal compiler routine: AnsiStr_Concat</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_Concat_multi">
 | |
|         <short>FPC internal compiler routine: AnsiStr_Concat_multi</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_Copy">
 | |
|         <short>FPC internal compiler routine: ansistr_Copy</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_decr_ref">
 | |
|         <short>FPC internal compiler routine: ansistr_decr_ref</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_Float">
 | |
|         <short>FPC internal compiler routine: AnsiStr_Float</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_incr_ref">
 | |
|         <short>FPC internal compiler routine: ansistr_incr_ref</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_int64">
 | |
|         <short>FPC internal compiler routine: ansistr_int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_qword">
 | |
|         <short>FPC internal compiler routine: ansistr_qword</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_SetLength">
 | |
|         <short>FPC internal compiler routine: AnsiStr_SetLength</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_sint">
 | |
|         <short>FPC internal compiler routine: AnsiStr_sint</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_to_chararray">
 | |
|         <short>FPC internal compiler routine: ansistr_to_chararray</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_To_ShortStr">
 | |
|         <short>FPC internal compiler routine: AnsiStr_To_ShortStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_to_widechararray">
 | |
|         <short>FPC internal compiler routine: ansistr_to_widechararray</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_To_WideStr">
 | |
|         <short>FPC internal compiler routine: AnsiStr_To_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_AnsiStr_uint">
 | |
|         <short>FPC internal compiler routine: AnsiStr_uint</short>
 | |
|       </element>
 | |
|       <element name="fpc_ansistr_Unique">
 | |
|         <short>FPC internal compiler routine: ansistr_Unique</short>
 | |
|       </element>
 | |
|       <element name="fpc_arctan_real">
 | |
|         <short>FPC internal compiler routine: arctan_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_assert">
 | |
|         <short>FPC internal compiler routine: assert</short>
 | |
|       </element>
 | |
|       <element name="fpc_Catches">
 | |
|         <short>FPC internal compiler routine: Catches</short>
 | |
|       </element>
 | |
|       <element name="fpc_chararray_Float">
 | |
|         <short>FPC internal compiler routine: chararray_Float</short>
 | |
|       </element>
 | |
|       <element name="fpc_chararray_int64">
 | |
|         <short>FPC internal compiler routine: chararray_int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_chararray_qword">
 | |
|         <short>FPC internal compiler routine: chararray_qword</short>
 | |
|       </element>
 | |
|       <element name="fpc_chararray_sint">
 | |
|         <short>FPC internal compiler routine: chararray_sint</short>
 | |
|       </element>
 | |
|       <element name="fpc_CharArray_To_AnsiStr">
 | |
|         <short>FPC internal compiler routine: CharArray_To_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_chararray_to_shortstr">
 | |
|         <short>FPC internal compiler routine: chararray_to_shortstr</short>
 | |
|       </element>
 | |
|       <element name="fpc_CharArray_To_WideStr">
 | |
|         <short>FPC internal compiler routine: CharArray_To_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_chararray_uint">
 | |
|         <short>FPC internal compiler routine: chararray_uint</short>
 | |
|       </element>
 | |
|       <element name="fpc_char_copy">
 | |
|         <short>FPC internal compiler routine: char_copy</short>
 | |
|       </element>
 | |
|       <element name="fpc_Char_To_AnsiStr">
 | |
|         <short>FPC internal compiler routine: Char_To_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Char_To_WideStr">
 | |
|         <short>FPC internal compiler routine: Char_To_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_class_as_intf">
 | |
|         <short>FPC internal compiler routine: class_as_intf</short>
 | |
|       </element>
 | |
|       <element name="fpc_cos_real">
 | |
|         <short>FPC internal compiler routine: cos_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_DecRef">
 | |
|         <short>FPC internal compiler routine: DecRef</short>
 | |
|       </element>
 | |
|       <element name="fpc_divbyzero">
 | |
|         <short>FPC internal compiler routine: divbyzero</short>
 | |
|       </element>
 | |
|       <element name="fpc_div_int64">
 | |
|         <short>FPC internal compiler routine: div_int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_div_qword">
 | |
|         <short>FPC internal compiler routine: div_qword</short>
 | |
|       </element>
 | |
|       <element name="fpc_do_as">
 | |
|         <short>FPC internal compiler routine: do_as</short>
 | |
|       </element>
 | |
|       <element name="fpc_do_is">
 | |
|         <short>FPC internal compiler routine: do_is</short>
 | |
|       </element>
 | |
|       <element name="fpc_dynarray_clear">
 | |
|         <short>FPC internal compiler routine: dynarray_clear</short>
 | |
|       </element>
 | |
|       <element name="fpc_dynarray_copy">
 | |
|         <short>FPC internal compiler routine: dynarray_copy</short>
 | |
|       </element>
 | |
|       <element name="fpc_dynarray_decr_ref">
 | |
|         <short>FPC internal compiler routine: dynarray_decr_ref</short>
 | |
|       </element>
 | |
|       <element name="fpc_dynarray_high">
 | |
|         <short>FPC internal compiler routine: dynarray_high</short>
 | |
|       </element>
 | |
|       <element name="fpc_dynarray_incr_ref">
 | |
|         <short>FPC internal compiler routine: dynarray_incr_ref</short>
 | |
|       </element>
 | |
|       <element name="fpc_dynarray_length">
 | |
|         <short>FPC internal compiler routine: dynarray_length</short>
 | |
|       </element>
 | |
|       <element name="fpc_dynarray_setlength">
 | |
|         <short>FPC internal compiler routine: dynarray_setlength</short>
 | |
|       </element>
 | |
|       <element name="fpc_dynarray_to_variant">
 | |
|         <short>FPC internal compiler routine: dynarray_to_variant</short>
 | |
|       </element>
 | |
|       <element name="fpc_exp_real">
 | |
|         <short>FPC internal compiler routine: exp_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_finalize">
 | |
|         <short>FPC internal compiler routine: finalize</short>
 | |
|       </element>
 | |
|       <element name="fpc_finalize_array">
 | |
|         <short>FPC internal compiler routine: finalize_array</short>
 | |
|       </element>
 | |
|       <element name="fpc_frac_real">
 | |
|         <short>FPC internal compiler routine: frac_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_freemem">
 | |
|         <short>FPC internal compiler routine: freemem</short>
 | |
|       </element>
 | |
|       <element name="fpc_get_input">
 | |
|         <short>FPC internal compiler routine: get_input</short>
 | |
|       </element>
 | |
|       <element name="fpc_getmem">
 | |
|         <short>FPC internal compiler routine: getmem</short>
 | |
|       </element>
 | |
|       <element name="fpc_get_output">
 | |
|         <short>FPC internal compiler routine: get_output</short>
 | |
|       </element>
 | |
|       <element name="fpc_help_constructor">
 | |
|         <short>FPC internal compiler routine: help_constructor</short>
 | |
|       </element>
 | |
|       <element name="fpc_help_destructor">
 | |
|         <short>FPC internal compiler routine: help_destructor</short>
 | |
|       </element>
 | |
|       <element name="fpc_help_fail">
 | |
|         <short>FPC internal compiler routine: help_fail</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_exp_real">
 | |
|         <short>FPC internal compiler routine: in_exp_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_fillchar_x">
 | |
|         <short>FPC internal compiler routine: in_fillchar_x</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_frac_real">
 | |
|         <short>FPC internal compiler routine: in_frac_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_get_caller_addr">
 | |
|         <short>FPC internal compiler routine: in_get_caller_addr</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_get_caller_frame">
 | |
|         <short>FPC internal compiler routine: in_get_caller_frame</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_get_frame">
 | |
|         <short>FPC internal compiler routine: in_get_frame</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_int_real">
 | |
|         <short>FPC internal compiler routine: in_int_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_Initialize">
 | |
|         <short>FPC internal compiler routine: Initialize</short>
 | |
|       </element>
 | |
|       <element name="fpc_InitializeUnits">
 | |
|         <short>FPC internal compiler routine: InitializeUnits</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_move_x">
 | |
|         <short>FPC internal compiler routine: in_move_x</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_pi_real">
 | |
|         <short>FPC internal compiler routine: in_pi_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_round_real">
 | |
|         <short>FPC internal compiler routine: in_round_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_slice">
 | |
|         <short>FPC internal compiler routine: in_slice</short>
 | |
|       </element>
 | |
|       <element name="fpc_interface_to_variant">
 | |
|         <short>FPC internal compiler routine: interface_to_variant</short>
 | |
|       </element>
 | |
|       <element name="fpc_intf_as">
 | |
|         <short>FPC internal compiler routine: intf_as</short>
 | |
|       </element>
 | |
|       <element name="fpc_intf_assign">
 | |
|         <short>FPC internal compiler routine: intf_assign</short>
 | |
|       </element>
 | |
|       <element name="fpc_intf_decr_ref">
 | |
|         <short>FPC internal compiler routine: intf_decr_ref</short>
 | |
|       </element>
 | |
|       <element name="fpc_intf_incr_ref">
 | |
|         <short>FPC internal compiler routine: intf_incr_ref</short>
 | |
|       </element>
 | |
|       <element name="fpc_int_real">
 | |
|         <short>FPC internal compiler routine: int_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_in_trunc_real">
 | |
|         <short>FPC internal compiler routine: in_trunc_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_iocheck">
 | |
|         <short>FPC internal compiler routine: iocheck</short>
 | |
|       </element>
 | |
|       <element name="fpc_ln_real">
 | |
|         <short>FPC internal compiler routine: ln_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_mod_int64">
 | |
|         <short>FPC internal compiler routine: mod_int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_mod_qword">
 | |
|         <short>FPC internal compiler routine: mod_qword</short>
 | |
|       </element>
 | |
|       <element name="fpc_mul_int64">
 | |
|         <short>FPC internal compiler routine: mul_int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_mul_qword">
 | |
|         <short>FPC internal compiler routine: mul_qword</short>
 | |
|       </element>
 | |
|       <element name="fpc_overflow">
 | |
|         <short>FPC internal compiler routine: overflow</short>
 | |
|       </element>
 | |
|       <element name="fpc_pchar_length">
 | |
|         <short>FPC internal compiler routine: pchar_length</short>
 | |
|       </element>
 | |
|       <element name="fpc_PChar_To_AnsiStr">
 | |
|         <short>FPC internal compiler routine: PChar_To_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_pchar_to_shortstr">
 | |
|         <short>FPC internal compiler routine: pchar_to_shortstr</short>
 | |
|       </element>
 | |
|       <element name="fpc_PChar_To_WideStr">
 | |
|         <short>FPC internal compiler routine: PChar_To_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_pi_real">
 | |
|         <short>FPC internal compiler routine: pi_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_PopAddrStack">
 | |
|         <short>FPC internal compiler routine: PopAddrStack</short>
 | |
|       </element>
 | |
|       <element name="fpc_PopObjectStack">
 | |
|         <short>FPC internal compiler routine: PopObjectStack</short>
 | |
|       </element>
 | |
|       <element name="fpc_PopSecondObjectStack">
 | |
|         <short>FPC internal compiler routine: PopSecondObjectStack</short>
 | |
|       </element>
 | |
|       <element name="fpc_PushExceptAddr">
 | |
|         <short>FPC internal compiler routine: PushExceptAddr</short>
 | |
|       </element>
 | |
|       <element name="fpc_PushExceptObj">
 | |
|         <short>FPC internal compiler routine: PushExceptObj</short>
 | |
|       </element>
 | |
|       <element name="fpc_pwidechar_length">
 | |
|         <short>FPC internal compiler routine: pwidechar_length</short>
 | |
|       </element>
 | |
|       <element name="fpc_PWideChar_To_AnsiStr">
 | |
|         <short>FPC internal compiler routine: PWideChar_To_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_PWideChar_To_ShortStr">
 | |
|         <short>FPC internal compiler routine: PWideChar_To_ShortStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_PWideChar_To_WideStr">
 | |
|         <short>FPC internal compiler routine: PWideChar_To_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Raiseexception">
 | |
|         <short>FPC internal compiler routine: Raiseexception</short>
 | |
|       </element>
 | |
|       <element name="fpc_rangeerror">
 | |
|         <short>FPC internal compiler routine: rangeerror</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_End">
 | |
|         <short>FPC internal compiler routine: Read_End</short>
 | |
|       </element>
 | |
|       <element name="fpc_ReadLn_End">
 | |
|         <short>FPC internal compiler routine: ReadLn_End</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_AnsiStr">
 | |
|         <short>FPC internal compiler routine: Read_Text_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_Char">
 | |
|         <short>FPC internal compiler routine: Read_Text_Char</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_Float">
 | |
|         <short>FPC internal compiler routine: Read_Text_Float</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_Int64">
 | |
|         <short>FPC internal compiler routine: Read_Text_Int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_PChar_As_Array">
 | |
|         <short>FPC internal compiler routine: Read_Text_PChar_As_Array</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_PChar_As_Pointer">
 | |
|         <short>FPC internal compiler routine: Read_Text_PChar_As_Pointer</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_QWord">
 | |
|         <short>FPC internal compiler routine: Read_Text_QWord</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_ShortStr">
 | |
|         <short>FPC internal compiler routine: Read_Text_ShortStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_SInt">
 | |
|         <short>FPC internal compiler routine: Read_Text_SInt</short>
 | |
|       </element>
 | |
|       <element name="fpc_Read_Text_UInt">
 | |
|         <short>FPC internal compiler routine: Read_Text_UInt</short>
 | |
|       </element>
 | |
|       <element name="fpc_ReRaise">
 | |
|         <short>FPC internal compiler routine: ReRaise</short>
 | |
|       </element>
 | |
|       <element name="fpc_reset_typed">
 | |
|         <short>FPC internal compiler routine: reset_typed</short>
 | |
|       </element>
 | |
|       <element name="fpc_rewrite_typed">
 | |
|         <short>FPC internal compiler routine: rewrite_typed</short>
 | |
|       </element>
 | |
|       <element name="fpc_round_real">
 | |
|         <short>FPC internal compiler routine: round_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_add_sets">
 | |
|         <short>FPC internal compiler routine: set_add_sets</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_comp_sets">
 | |
|         <short>FPC internal compiler routine: set_comp_sets</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_contains_sets">
 | |
|         <short>FPC internal compiler routine: set_contains_sets</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_create_element">
 | |
|         <short>FPC internal compiler routine: set_create_element</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_in_byte">
 | |
|         <short>FPC internal compiler routine: set_in_byte</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_load_small">
 | |
|         <short>FPC internal compiler routine: set_load_small</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_mul_sets">
 | |
|         <short>FPC internal compiler routine: set_mul_sets</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_set_byte">
 | |
|         <short>FPC internal compiler routine: set_set_byte</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_set_range">
 | |
|         <short>FPC internal compiler routine: set_set_range</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_sub_sets">
 | |
|         <short>FPC internal compiler routine: set_sub_sets</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_symdif_sets">
 | |
|         <short>FPC internal compiler routine: set_symdif_sets</short>
 | |
|       </element>
 | |
|       <element name="fpc_set_unset_byte">
 | |
|         <short>FPC internal compiler routine: set_unset_byte</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_append_shortstr">
 | |
|         <short>FPC internal compiler routine: shortstr_append_shortstr</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_compare">
 | |
|         <short>FPC internal compiler routine: shortstr_compare</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_concat">
 | |
|         <short>FPC internal compiler routine: shortstr_concat</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_Copy">
 | |
|         <short>FPC internal compiler routine: shortstr_Copy</short>
 | |
|       </element>
 | |
|       <element name="fpc_ShortStr_Float">
 | |
|         <short>FPC internal compiler routine: ShortStr_Float</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_int64">
 | |
|         <short>FPC internal compiler routine: shortstr_int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_qword">
 | |
|         <short>FPC internal compiler routine: shortstr_qword</short>
 | |
|       </element>
 | |
|       <element name="fpc_Shortstr_SetLength">
 | |
|         <short>FPC internal compiler routine: Shortstr_SetLength</short>
 | |
|       </element>
 | |
|       <element name="fpc_ShortStr_sint">
 | |
|         <short>FPC internal compiler routine: ShortStr_sint</short>
 | |
|       </element>
 | |
|       <element name="fpc_ShortStr_To_AnsiStr">
 | |
|         <short>FPC internal compiler routine: ShortStr_To_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_to_chararray">
 | |
|         <short>FPC internal compiler routine: shortstr_to_chararray</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_to_shortstr">
 | |
|         <short>FPC internal compiler routine: shortstr_to_shortstr</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_to_widechararray">
 | |
|         <short>FPC internal compiler routine: shortstr_to_widechararray</short>
 | |
|       </element>
 | |
|       <element name="fpc_ShortStr_To_WideStr">
 | |
|         <short>FPC internal compiler routine: ShortStr_To_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_shortstr_uint">
 | |
|         <short>FPC internal compiler routine: shortstr_uint</short>
 | |
|       </element>
 | |
|       <element name="fpc_sin_real">
 | |
|         <short>FPC internal compiler routine: sin_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_sqr_real">
 | |
|         <short>FPC internal compiler routine: sqr_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_sqrt_real">
 | |
|         <short>FPC internal compiler routine: sqrt_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_trunc_real">
 | |
|         <short>FPC internal compiler routine: trunc_real</short>
 | |
|       </element>
 | |
|       <element name="fpc_typed_read">
 | |
|         <short>FPC internal compiler routine: typed_read</short>
 | |
|       </element>
 | |
|       <element name="fpc_typed_write">
 | |
|         <short>FPC internal compiler routine: typed_write</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_int64_AnsiStr">
 | |
|         <short>FPC internal compiler routine: Val_int64_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_val_int64_shortstr">
 | |
|         <short>FPC internal compiler routine: val_int64_shortstr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_int64_WideStr">
 | |
|         <short>FPC internal compiler routine: Val_int64_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_qword_AnsiStr">
 | |
|         <short>FPC internal compiler routine: Val_qword_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_val_qword_shortstr">
 | |
|         <short>FPC internal compiler routine: val_qword_shortstr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_qword_WideStr">
 | |
|         <short>FPC internal compiler routine: Val_qword_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_Real_AnsiStr">
 | |
|         <short>FPC internal compiler routine: Val_Real_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_Real_ShortStr">
 | |
|         <short>FPC internal compiler routine: Val_Real_ShortStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_Real_WideStr">
 | |
|         <short>FPC internal compiler routine: Val_Real_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_SInt_AnsiStr">
 | |
|         <short>FPC internal compiler routine: Val_SInt_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_SInt_ShortStr">
 | |
|         <short>FPC internal compiler routine: Val_SInt_ShortStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_SInt_WideStr">
 | |
|         <short>FPC internal compiler routine: Val_SInt_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_UInt_AnsiStr">
 | |
|         <short>FPC internal compiler routine: Val_UInt_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_UInt_Shortstr">
 | |
|         <short>FPC internal compiler routine: Val_UInt_Shortstr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Val_UInt_WideStr">
 | |
|         <short>FPC internal compiler routine: Val_UInt_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_vararray_get">
 | |
|         <short>FPC internal compiler routine: vararray_get</short>
 | |
|       </element>
 | |
|       <element name="fpc_vararray_put">
 | |
|         <short>FPC internal compiler routine: vararray_put</short>
 | |
|       </element>
 | |
|       <element name="fpc_variant_copy">
 | |
|         <short>FPC internal compiler routine: variant_copy</short>
 | |
|       </element>
 | |
|       <element name="fpc_variant_to_dynarray">
 | |
|         <short>FPC internal compiler routine: variant_to_dynarray</short>
 | |
|       </element>
 | |
|       <element name="fpc_variant_to_interface">
 | |
|         <short>FPC internal compiler routine: variant_to_interface</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideCharArray_To_AnsiStr">
 | |
|         <short>FPC internal compiler routine: WideCharArray_To_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideCharArray_To_ShortStr">
 | |
|         <short>FPC internal compiler routine: WideCharArray_To_ShortStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideCharArray_To_WideStr">
 | |
|         <short>FPC internal compiler routine: WideCharArray_To_WideStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_Assign">
 | |
|         <short>FPC internal compiler routine: WideStr_Assign</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_CheckRange">
 | |
|         <short>FPC internal compiler routine: WideStr_CheckRange</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_CheckZero">
 | |
|         <short>FPC internal compiler routine: WideStr_CheckZero</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_Compare">
 | |
|         <short>FPC internal compiler routine: WideStr_Compare</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_Concat">
 | |
|         <short>FPC internal compiler routine: WideStr_Concat</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_Concat_multi">
 | |
|         <short>FPC internal compiler routine: WideStr_Concat_multi</short>
 | |
|       </element>
 | |
|       <element name="fpc_widestr_Copy">
 | |
|         <short>FPC internal compiler routine: widestr_Copy</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_Decr_Ref">
 | |
|         <short>FPC internal compiler routine: WideStr_Decr_Ref</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_Float">
 | |
|         <short>FPC internal compiler routine: WideStr_Float</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_Incr_Ref">
 | |
|         <short>FPC internal compiler routine: WideStr_Incr_Ref</short>
 | |
|       </element>
 | |
|       <element name="fpc_widestr_int64">
 | |
|         <short>FPC internal compiler routine: widestr_int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_widestr_qword">
 | |
|         <short>FPC internal compiler routine: widestr_qword</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_SetLength">
 | |
|         <short>FPC internal compiler routine: WideStr_SetLength</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_sint">
 | |
|         <short>FPC internal compiler routine: WideStr_sint</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_To_AnsiStr">
 | |
|         <short>FPC internal compiler routine: WideStr_To_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_widestr_to_chararray">
 | |
|         <short>FPC internal compiler routine: widestr_to_chararray</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_To_ShortStr">
 | |
|         <short>FPC internal compiler routine: WideStr_To_ShortStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_widestr_to_widechararray">
 | |
|         <short>FPC internal compiler routine: widestr_to_widechararray</short>
 | |
|       </element>
 | |
|       <element name="fpc_WideStr_uint">
 | |
|         <short>FPC internal compiler routine: WideStr_uint</short>
 | |
|       </element>
 | |
|       <element name="fpc_widestr_Unique">
 | |
|         <short>FPC internal compiler routine: widestr_Unique</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_End">
 | |
|         <short>FPC internal compiler routine: Write_End</short>
 | |
|       </element>
 | |
|       <element name="fpc_Writeln_End">
 | |
|         <short>FPC internal compiler routine: Writeln_End</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_AnsiStr">
 | |
|         <short>FPC internal compiler routine: Write_Text_AnsiStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_Boolean">
 | |
|         <short>FPC internal compiler routine: Write_Text_Boolean</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_Char">
 | |
|         <short>FPC internal compiler routine: Write_Text_Char</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_Float">
 | |
|         <short>FPC internal compiler routine: Write_Text_Float</short>
 | |
|       </element>
 | |
|       <element name="fpc_write_text_int64">
 | |
|         <short>FPC internal compiler routine: write_text_int64</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_Pchar_as_Array">
 | |
|         <short>FPC internal compiler routine: Write_Text_Pchar_as_Array</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_PChar_As_Pointer">
 | |
|         <short>FPC internal compiler routine: Write_Text_PChar_As_Pointer</short>
 | |
|       </element>
 | |
|       <element name="fpc_write_text_qword">
 | |
|         <short>FPC internal compiler routine: write_text_qword</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_ShortStr">
 | |
|         <short>FPC internal compiler routine: Write_Text_ShortStr</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_SInt">
 | |
|         <short>FPC internal compiler routine: Write_Text_SInt</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_UInt">
 | |
|         <short>FPC internal compiler routine: Write_Text_UInt</short>
 | |
|       </element>
 | |
|       <element name="fpc_write_text_variant">
 | |
|         <short>FPC internal compiler routine: write_text_variant</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_WideChar">
 | |
|         <short>FPC internal compiler routine: Write_Text_WideChar</short>
 | |
|       </element>
 | |
|       <element name="fpc_Write_Text_WideStr">
 | |
|         <short>FPC internal compiler routine: Write_Text_WideStr</short>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="Align">
 | |
|         <short>Return aligned version of an address</short>
 | |
|         <descr>
 | |
|           <var>Align</var> returns <var>Address</var>, aligned to <var>Alignment</var>
 | |
| bytes.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <element name="ArrayStringToPPchar">
 | |
|         <short>Concert an array of string to an array of null-terminated strings</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>ArrayStringToPPchar</var> creates an array of null-terminated strings
 | |
| that point to strings which are the same as the strings in the array
 | |
| <var>S</var>. The function returns a pointer to this array. The array and
 | |
| the strings it contains must be disposed of after being used, because it 
 | |
| they are allocated on the heap.
 | |
| </p>
 | |
|           <p>The <var>ReserveEntries</var> parameter tells <var>ArrayStringToPPchar</var>
 | |
| to allocate room at the end of the array for another <var>ReserveEntries</var>
 | |
| entries.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If not enough memory is available, an error may occur.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToPPChar"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="StringToPPChar">
 | |
|         <short>Split string in list of null-terminated strings</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>StringToPPChar</var> splits the string <var>S</var> in words, replacing any
 | |
| whitespace with zero characters. It returns a pointer to an array of pchars
 | |
| that point to the first letters of the words in <var>S</var>. This array is terminated
 | |
| by a <var>Nil</var> pointer.
 | |
| </p>
 | |
|           <p>The function does <em>not</em> add a zero character to the end of the string
 | |
| unless it ends on whitespace.
 | |
| </p>
 | |
|           <p>The function reserves memory on the heap to store the array of <var>PChar</var>;
 | |
| The caller is responsible for freeing this memory. 
 | |
| </p>
 | |
|           <p>This function is only available on certain platforms.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="ArrayStringToPPchar"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varempty">
 | |
|         <short>Variant type: <var>Empty</var> variant</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varnull">
 | |
|         <short>Variant type: <link id="Null"/> variant </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varsmallint">
 | |
|         <short>Variant type: smallint (8 bit) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varinteger">
 | |
|         <short>Variant type: Integer (32-bit)</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varsingle">
 | |
|         <short>Variant type: Single float </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vardouble">
 | |
|         <short>Variant type: Double float </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varcurrency">
 | |
|         <short>Variant type: Currency </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vardate">
 | |
|         <short>Variant type: Date </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varolestr">
 | |
|         <short>Variant type: OLE string (widestring) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vardispatch">
 | |
|         <short>Variant type: dispatch interface </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varerror">
 | |
|         <short>Variant type: Error type </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varboolean">
 | |
|         <short>Variant type: Boolean type </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varvariant">
 | |
|         <short>Variant type: Variant (arrays only) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varunknown">
 | |
|         <short>Variant type: Unknown </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vardecimal">
 | |
|         <short>Variant type: Decimal (BCD) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varshortint">
 | |
|         <short>Variant type: Shortint (16 bit) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varbyte">
 | |
|         <short>Variant type: Byte (8 bit) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varword">
 | |
|         <short>Variant type: Word (16 bit) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varlongword">
 | |
|         <short>Variant type: Word (32 bit) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varint64">
 | |
|         <short>Variant type: Integer (64-Bit) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varqword">
 | |
|         <short>Variant type: Word (64-bit) </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varstrarg">
 | |
|         <short>Variant type: String </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varstring">
 | |
|         <short>Variant type: String </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varany">
 | |
|         <short>Variant type: Any </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vartypemask">
 | |
|         <short>Variant type: Mask to extract type </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="vararray">
 | |
|         <short>Variant type: variant Array </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varbyref">
 | |
|         <short>Variant type: By reference </short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="varword64">
 | |
|         <short>Variant type: Word (64-bit) </short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="tvartype">
 | |
|         <short>Type with size of variant type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pvararrayboundarray">
 | |
|         <short>Pointer to <link id="tvararrayboundarray"/> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pvararraycoorarray">
 | |
|         <short>Pointer to <link id="tvararraycoorarray"/> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pvararraybound">
 | |
|         <short>Pointer to <link id="tvararraybound"/> type.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pvararray">
 | |
|         <short>Pointer to <link id="TVarArray"/> type.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="tvararraybound">
 | |
|         <short>Type describing variant array bounds.</short>
 | |
|         <descr>
 | |
|           <var>tvararraybound</var> is used to describe one dimension in a variant
 | |
| array.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="tvararray"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvararraybound.elementcount">
 | |
|         <short>Number of elements in this array dimension.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvararraybound.lowbound">
 | |
|         <short>Lower bound of this array dimension (index of first element).</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="tvararray">
 | |
|         <short>Type describing variant array</short>
 | |
|         <descr>
 | |
|           <var>tvararray</var> is a record describing a variant array. It contains
 | |
| some general data, followed by a number of <link id="TVarArrayBound"/>
 | |
| records equal to the number of dimensions in the array (<var>dimcoun</var>).
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TVarArrayBound"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvararray.dimcount">
 | |
|         <short>Number of dimensions</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvararray.flags">
 | |
|         <short>Array flags.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvararray.elementsize">
 | |
|         <short>Size of one element in the array.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvararray.lockcount">
 | |
|         <short>Lock (reference) count of the array.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvararray.data">
 | |
|         <short>Pointer to the array data.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvararray.bounds">
 | |
|         <short>Array describing the bounds in the array.</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="tvararrayboundarray">
 | |
|         <short>array of <link id="tvararraybound"/> records.</short>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="tvararraycoorarray">
 | |
|         <short>Array of variant array coordinates</short>
 | |
|       </element>
 | |
|       <!-- enumeration type Visibility: default -->
 | |
|       <element name="tvarop">
 | |
|         <short>Variant operation.</short>
 | |
|         <descr>
 | |
|           <var>tvarop</var> describes a variant operation. It is mainly used for the
 | |
| variant manager to implement the various conversions and mathematical
 | |
| operations on a variant.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TVariantManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opadd">
 | |
|         <short>Variant operation: Addition.</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opsubtract">
 | |
|         <short>Variant operation: Substraction</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opmultiply">
 | |
|         <short>Variant operation: multiplication</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opdivide">
 | |
|         <short>Variant operation: division</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opintdivide">
 | |
|         <short>Variant operation: integer divide</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opmodulus">
 | |
|         <short>Variant operation: Modulus</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opshiftleft">
 | |
|         <short>Variant operation: Shift left</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opshiftright">
 | |
|         <short>Variant operation: Shift right</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opand">
 | |
|         <short>Variant operation: Binary AND operation</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opor">
 | |
|         <short>Variant operation: Binary OR operation</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opxor">
 | |
|         <short>Variant operation: binary XOR operation.</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opcompare">
 | |
|         <short>Variant operation: Compare</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opnegate">
 | |
|         <short>Variant operation: negation.</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opnot">
 | |
|         <short>Variant operation: Binary NOT operation.</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opcmpeq">
 | |
|         <short>Variant operation: Compare equal.</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opcmpne">
 | |
|         <short>Variant operation: Compare not equal</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opcmplt">
 | |
|         <short>Variant operation: Compare less than.</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opcmple">
 | |
|         <short>Variant operation: Compare less than or equal to</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opcmpgt">
 | |
|         <short>Variant operation: Compare larger than</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.opcmpge">
 | |
|         <short>Variant operation: Compare larger than or equal</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="tvardata">
 | |
|         <short>Variant record.</short>
 | |
|         <descr>
 | |
|           <var>TVarData</var> is a record representation of a variant. It contains the
 | |
| internal structure of a variant and is handled by the various variant
 | |
| handling routines.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vtype">
 | |
|         <short>Type of variant.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pvardata">
 | |
|         <short>Pointer to <link id="TVarData"/> record.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pcalldesc">
 | |
|         <short>Pointer to <link id="TCallDesc"/> record.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="tcalldesc">
 | |
|         <short>COM/OLE dispatch call argument description.</short>
 | |
|         <descr>
 | |
|           <var>tcalldesc</var> is used to encode the arguments to a dispatch call to 
 | |
| an OLE dual interface. It is used on windows only. It describes the 
 | |
| arguments to a call.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tcalldesc.calltype">
 | |
|         <short>Call type.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tcalldesc.argcount">
 | |
|         <short>Number of arguments to call.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tcalldesc.namedargcount">
 | |
|         <short>Number of named arguments in the call.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tcalldesc.argtypes">
 | |
|         <short>Types of arguments.</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="tdispdesc">
 | |
|         <short>COM/OLE dispatch call description.</short>
 | |
|         <descr>
 | |
|           <var>tcalldesc</var> is used to encode a dispatch call to an OLE dispatch 
 | |
| interface. It is used on windows only. It describes the dispath call call.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="tcalldesc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="pdispdesc">
 | |
|         <short>Pointer to <link id="tdispdesc"/> record</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tdispdesc.dispid">
 | |
|         <short>Dispatch ID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tdispdesc.restype">
 | |
|         <short>Result type.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tdispdesc.calldesc">
 | |
|         <short>Arguments description.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="tvariantmanager">
 | |
|         <short>Record describing the variant manager.</short>
 | |
|         <descr>
 | |
|           <var>TVariantManager</var> describes the variant manager as expected by the
 | |
| <link id="SetVariantManager"/> call.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="SetVariantManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartoint">
 | |
|         <short>Called to convert a variant to an integer value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartoint64">
 | |
|         <short>Called to convert a variant to an int64 value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartoword64">
 | |
|         <short>Called to convert a variant to a word64 value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartobool">
 | |
|         <short>Called to convert a variant to a boolean value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartoreal">
 | |
|         <short>Called to convert a variant to a  value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartocurr">
 | |
|         <short>Called to convert a variant to a  value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartopstr">
 | |
|         <short>Called to convert a variant to a  value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartolstr">
 | |
|         <short>Called to convert a variant to a  value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartowstr">
 | |
|         <short>Called to convert a variant to a  value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartointf">
 | |
|         <short>Called to convert a variant to a  value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartodisp">
 | |
|         <short>Called to convert a variant to a  value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartodynarray">
 | |
|         <short>Called to convert a variant to a  value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfrombool">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromint">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromint64">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromword64">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromreal">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfrompstr">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromlstr">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromwstr">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromintf">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromdisp">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromdynarray">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.olevarfrompstr">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.olevarfromlstr">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.olevarfromvar">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.olevarfromint">
 | |
|         <short>Called to convert a  value to a variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varop">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.cmpop">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varneg">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varnot">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varinit">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varclear">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varaddref">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varcopy">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varcast">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varcastole">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.dispinvoke">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vararrayredim">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vararrayget">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vararrayput">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.writevariant">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.write0Variant">
 | |
|         <short>Called to perform a variant operation: </short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="pvariantmanager">
 | |
|         <short>Pointer to <link id="TVariantManager"/> record.</short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="GetVariantManager">
 | |
|         <short>Return the current variant manager.</short>
 | |
|         <descr>
 | |
|           <var>GetVariantManager</var> returns the current variant manager in
 | |
| <var>varmgr</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IsVariantManagerSet"/>
 | |
|           <link id="SetVariantManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SetVariantManager">
 | |
|         <short>Set the current variant manager.</short>
 | |
|         <descr>
 | |
|           <var>SetVariantManager</var> sets the variant manager to <var>varmgr</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IsVariantManagerSet"/>
 | |
|           <link id="GetVariantManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="IsVariantManagerSet">
 | |
|         <short>Determine if variant manager is currently set.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>IsVariantManagerSet</var> determines whether the variant manager was
 | |
| set to a correct variant manager. It returns <var>True</var> if it is, 
 | |
| or <var>False</var> if it is not.
 | |
| </p>
 | |
|           <p>The routine checks all variant operation handlers, they should all be set correctly.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="SetVariantManager"/>
 | |
|           <link id="GetVariantManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="VarDispProc">
 | |
|         <short>Callback to perform dispatch interface procedure call by name.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>VarDispProc</var> is called by the compiler if it needs to perform an
 | |
| interface call from a variant. For instance, the following call:
 | |
| </p>
 | |
|           <code>Var
 | |
|   V : OleVariant;
 | |
| begin
 | |
|   V.OpenDocument('c:\temp\mydoc.doc');
 | |
| end;  
 | |
| </code>
 | |
|           <p>is encoded by the compiler and passed to <var>VarDispProc</var>.
 | |
| </p>
 | |
|           <p>This pointer must be set by a routine that calls the OS COM handling
 | |
| routines.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="DispCallByIDProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="DispCallByIDProc">
 | |
|         <short>Callback to perform dispatch interface procedure call by ID.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>VarDispProc</var> is called by the compiler if it needs to perform an
 | |
| interface call from a variant which contains a dispatch interface. 
 | |
| For instance, the following call:
 | |
| </p>
 | |
|           <code>Var
 | |
|   V : OleVariant;
 | |
| begin
 | |
|   (V as IWord).OpenDocument('c:\temp\mydoc.doc');
 | |
| end;
 | |
| </code>
 | |
|           <p>where <var>IWord</var> is a dispatch interface is encoded by the compiler and 
 | |
| passed to <var>DispCallByIDProc</var>.
 | |
| </p>
 | |
|           <p>This pointer must be set by a routine that calls the OS COM handling
 | |
| routines.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="VarDispProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="Null">
 | |
|         <short>Null variant</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="Unassigned">
 | |
|         <short>Unassigned variant.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="THeapStatus">
 | |
|         <short>Record describing current heap status.</short>
 | |
|         <descr>
 | |
|           <var>THeapStatus</var> is the record describing the current heap status. It
 | |
| is returned by the <link id="GetHeapStatus"/> call.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetHeapStatus"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.MaxHeapSize">
 | |
|         <short>Biggest heap size used.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.MaxHeapUsed">
 | |
|         <short>Biggest used part of heap memory.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.CurrHeapSize">
 | |
|         <short>Current heap size. </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.CurrHeapUsed">
 | |
|         <short>Current size of used heap memory.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.CurrHeapFree">
 | |
|         <short>Current size of free heap memory.</short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SysGetHeapStatus">
 | |
|         <short>System implementation of <link id="GetHeapStatus"/>
 | |
|         </short>
 | |
|         <descr>
 | |
|           <var>SysGetHeapStatus</var> is the system implementation of the <link id="GetHeapStatus"/> call.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetHeapStatus"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="Heapsize">
 | |
|         <short>Current heap size</short>
 | |
|         <descr>
 | |
|           <var>HeapSize</var> returns the current heap size. The heap grows
 | |
| dynamically (as allowed by the OS) and the <var>HeapSize</var> reflects the
 | |
| current state of the heap.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetHeapStatus"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="TThreadID">
 | |
|         <short>Type for Thread-IDs</short>
 | |
|         <descr>This is an opaque type, it can differ from operating system to operating
 | |
| system.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PRTLCriticalSection">
 | |
|         <short>Pointer to <link id="#rtl.system.TRTLCriticalSection"/> type.</short>
 | |
|         <descr/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TRTLCriticalSection" opaque="1">
 | |
|         <short>A critical section.</short>
 | |
|         <descr>
 | |
|           <var>TRTLCriticalSection</var> represents a critical section (a mutex). This is an opaque type, 
 | |
| it can differ from operating system to operating system. No assumptions
 | |
| should be made about it's structure or contents. 
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="InitProc">
 | |
|         <short>Initialization routine</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>InitProc</var> is a routine that can be called after all units were
 | |
| initialized. It can be set by units to execute code that can be initialized
 | |
| after all units were initialized.
 | |
| </p>
 | |
|           <remark>When setting the value of <var>InitProc</var>, the previous value should
 | |
| always be saved, and called when the installed initialization routine has
 | |
| finished executing. 
 | |
| </remark>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="ExitProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="GetProcessID">
 | |
|         <short>Get the current process ID</short>
 | |
|         <descr>
 | |
|           <var>GetProcessID</var> returns the current process ID. 
 | |
| The meaning of the return value of this call is system dependent.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="GetThreadID"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="GetThreadID">
 | |
|         <short>Get the current Thread ID.</short>
 | |
|         <descr>
 | |
|           <var>GetThreadID</var> returns the current process ID. 
 | |
| The meaning of the return value of this call is system dependent.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetProcessID"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="S_OK">
 | |
|         <short>Interface call result: OK</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="S_FALSE">
 | |
|         <short>Interface call result: Not OK</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="E_NOINTERFACE">
 | |
|         <short>Interface call result: Error: not an interface</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="E_UNEXPECTED">
 | |
|         <short>Interface call result: Unexpected error</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="E_NOTIMPL">
 | |
|         <short>Interface call result: Interface not implemented</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TMethod">
 | |
|         <short>Record describing a method.</short>
 | |
|         <descr>
 | |
|           <var>TMethod</var> describes a general method pointer, and is used in
 | |
| Run-Time Type Information handling.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMethod.Code">
 | |
|         <short>Pointer to method code.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMethod.Data">
 | |
|         <short>Pointer to object instance.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TExceptObject.Framecount">
 | |
|         <short>Number of frames in the exception object</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TExceptObject.Frames">
 | |
|         <short>Pointer to array of frame pointers</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="RaiseMaxFrameCount">
 | |
|         <short>Maximum number of frames to include in <link id="#rtl.system.TExceptObject">TExceptObject</link>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tvarop.oppower">
 | |
|         <short>Variant operation: Power</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.vartotdatetime">
 | |
|         <short>Callback to convert a variant to a <var>TDatetime</var> value.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromtdatetime">
 | |
|         <short>Callback to convert a <var>TDateTime</var> value to a variant.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvariantmanager.varfromcurr">
 | |
|         <short>Callback to convert a variant to a currency value.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="VarClearProc">
 | |
|         <short>Callback to clear a variant.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="VarAddRefProc">
 | |
|         <short>Callback to increase reference count of a variant.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="VarCopyProc">
 | |
|         <short>Callback to copy a variant</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="VarToLStrProc">
 | |
|         <short>Callback to convert a variant to a ansistring.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="VarToWStrProc">
 | |
|         <short>Callback to convert a variant to a widestring.</short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="VarArrayRedim">
 | |
|         <short>Redimension a variant array</short>
 | |
|         <descr>
 | |
|           <var>VarArrayRedim</var> re-sizes the first dimension of the variant array
 | |
| <var>A</var>, giving it a new high bound <var>HighBound</var>. 
 | |
| Obviously, <var>A</var> must be a variant array for this function to work.
 | |
| </descr>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- array type Visibility: default -->
 | |
|       <element name="fpc_big_widechararray" skip="1">
 | |
|         <short>Internal type used by widestring routines. Do not use</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="DefaultStackSize">
 | |
|         <short>Default size for a new thread's stack (32k by default).</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="PEventState">
 | |
|         <short>Pointer to EventState, which is an opaque type.</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="PRTLEvent">
 | |
|         <short>Pointer to RTLEvent, which is an opaque type.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TThreadFunc">
 | |
|         <short>Thread function prototype</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="trtlmethod">
 | |
|         <short>Callback type for synchronization event.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TBeginThreadHandler">
 | |
|         <short>Callback for thread start in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TEndThreadHandler">
 | |
|         <short>Callback for thread end in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TThreadHandler">
 | |
|         <short>Generic thread handler callback for <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TThreadSwitchHandler">
 | |
|         <short>Callback type for thread switch in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TWaitForThreadTerminateHandler">
 | |
|         <short>Callback type for thread termination in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TThreadSetPriorityHandler">
 | |
|         <short>Callback type for thread priority setting in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TThreadGetPriorityHandler">
 | |
|         <short>Callback type for thread priority getting in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TGetCurrentThreadIdHandler">
 | |
|         <short>Callback type for retrieving thread ID in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TCriticalSectionHandler">
 | |
|         <short>Generic callback type for critical section handling in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TInitThreadVarHandler">
 | |
|         <short>Threadvar initialization callback type for <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TRelocateThreadVarHandler">
 | |
|         <short>Threadvar relocalization callback type for <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TAllocateThreadVarsHandler">
 | |
|         <short>Threadvar allocation callback type for <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TReleaseThreadVarsHandler">
 | |
|         <short>Threadvar release callback type for <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TBasicEventHandler">
 | |
|         <short>Generic callback type for handling eventstate in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TBasicEventWaitForHandler">
 | |
|         <short>Wait for basic event callback type for <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TBasicEventCreateHandler">
 | |
|         <short>callback type for creating eventstate in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TRTLEventHandler">
 | |
|         <short>Generic TRTLEvent handling type for <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TRTLEventHandlerTimeout">
 | |
|         <short>TRTLEvent timeout handling type for <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TRTLCreateEventHandler">
 | |
|         <short>Callback type for creating a <var>TRTLEvent</var> type in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TRTLEventSyncHandler">
 | |
|         <short>Callback type for event sycnhronization in <link id="#rtl.system.TThreadManager">TThreadManager</link>.</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TThreadManager">
 | |
|         <short>Thread manager record.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>TThreadManager</var> is a record that contains all callbacks needed for the thread handling
 | |
| routines of the Free Pascal Run-Time Library. The thread manager can be set
 | |
| by the <link id="SetThreadManager"/> procedure, and the current thread
 | |
| manager can be retrieved with the <link id="GetThreadManager"/> procedure.
 | |
| </p>
 | |
|           <p>The Windows RTL will set the thread manager automatically to a system thread
 | |
| manager, based on the Windows threading routines. Unix operating systems
 | |
| provide a unit <file>cthreads</file> which implements threads based on the C
 | |
| library POSIX thread routines. It is not included by default, because it
 | |
| would make the system unit dependent on the C library.
 | |
| </p>
 | |
|           <p>For more information about thread programming, see the programmer's guide.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="GetThreadManager"/>
 | |
|           <link id="SetThreadManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.InitManager">
 | |
|         <short>Initialize the thread manager.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.DoneManager">
 | |
|         <short>Clean up the thread manager.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.BeginThread">
 | |
|         <short>Start a new thread.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.EndThread">
 | |
|         <short>End the current thread.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.SuspendThread">
 | |
|         <short>Suspend a running thread.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.ResumeThread">
 | |
|         <short>Resumt a suspended thread.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.KillThread">
 | |
|         <short>Kill a running thread.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.ThreadSwitch">
 | |
|         <short>Cause a threadswitch.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.WaitForThreadTerminate">
 | |
|         <short>Wait for a thread to stop.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.ThreadSetPriority">
 | |
|         <short>Set thread priority</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.ThreadGetPriority">
 | |
|         <short>Get thread priority.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.GetCurrentThreadId">
 | |
|         <short>Get current thread ID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.InitCriticalSection">
 | |
|         <short>Initialize a critical section.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.DoneCriticalSection">
 | |
|         <short>Free a critical section</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.EnterCriticalSection">
 | |
|         <short>Enter a critical section</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.LeaveCriticalSection">
 | |
|         <short>leave a critical section.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.InitThreadVar">
 | |
|         <short>Initialize a thread variable.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RelocateThreadVar">
 | |
|         <short>Relocate a thread variable.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.AllocateThreadVars">
 | |
|         <short>Allocate thread variables.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.ReleaseThreadVars">
 | |
|         <short>Release thread variables.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.BasicEventCreate">
 | |
|         <short>Create a basic event.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.BasicEventDestroy">
 | |
|         <short>Destroy a basic event.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.BasicEventResetEvent">
 | |
|         <short>Reset a basic event.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.BasicEventSetEvent">
 | |
|         <short>Set a basic event</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.BasiceventWaitFOr">
 | |
|         <short>Wait for a basic event</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RTLEventCreate">
 | |
|         <short>Create an RTL event</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RTLEventDestroy">
 | |
|         <short>Free an RTL event</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RTLEventSetEvent">
 | |
|         <short>Set an RTL event</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RTLEventResetEvent">
 | |
|         <short>Reset an RTL event</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RTLEventStartWait">
 | |
|         <short>Wait for an RTL event.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RTLEventWaitFor">
 | |
|         <short>Wait for an RTL event.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RTLEventSync">
 | |
|         <short>Synchronize an RTL event.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.RTLEventWaitForTimeout">
 | |
|         <short>Wait for RTL event, with timeout.</short>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="GetThreadManager">
 | |
|         <short>Return the current thread manager</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>GetThreadManager</var> returns the currently used thread manager in
 | |
| <var>TM</var>.
 | |
| </p>
 | |
|           <p>For more information about thread programming, see the programmer's guide.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="SetThreadManager"/>
 | |
|           <link id="TThreadManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SetThreadManager">
 | |
|         <short>Set the thread manager, optionally return the current thread manager.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SetThreadManager</var> sets the thread manager to <var>NewTM</var>.
 | |
| If <var>OldTM</var> is given, <var>SetThreadManager</var> uses it to return the
 | |
| previously used thread manager.
 | |
| </p>
 | |
|           <p>The function returns <var>True</var> if the threadmanager was set
 | |
| succesfully, <var>False</var> if an error occurred.
 | |
| </p>
 | |
|           <p>For more information about thread programming, see the programmer's guide.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If an error occurred cleaning up the previous manager, or an error occurred
 | |
| initializing the new manager, <var>False</var> is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="GetThreadManager"/>
 | |
|           <link id="TThreadManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SetNoThreadManager">
 | |
|         <short>Clear the threadmanager</short>
 | |
|         <descr>
 | |
|           <var>SetNoThreadManager</var> clears the thread manager by setting the
 | |
| thread manager to an empty thread manager record.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="InitThread">
 | |
|         <short>Initialize a thread</short>
 | |
|         <descr>Do not use, this is used internally by the thread manager.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="BeginThread">
 | |
|         <short>Start a new thread.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>BeginThread</var> starts a new thread and executes
 | |
| <var>ThreadFunction</var> in the new thread. If <var>P</var> is specified,
 | |
| then it is passed to <var>ThreadFunction</var>. If <var>ThreadId</var> is
 | |
| specified, it is filled with the thread ID of the newly started thread. If
 | |
| <var>StackSize</var> is specified, it is set as the stack size for the new
 | |
| thread. If none is specified, a default stack size of 32Kb is used.
 | |
| </p>
 | |
|           <p>The function returns the thread ID on succes, or 0 if an error occurred.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>On error, a nonzero value is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="EndThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="EndThread">
 | |
|         <short>End the current thread.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>EndThread</var> ends the current thread. If <var>ExitCode</var> is
 | |
| supplied, it is returned as the exit code for the thread to a function
 | |
| waiting for the thread to terminate (<link id="WaitForThreadTerminate"/>).
 | |
| If it is omitted, zero is used.
 | |
| </p>
 | |
|           <p>This function does not return.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="WaitForThreadTerminate"/>
 | |
|           <link id="BeginThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SuspendThread">
 | |
|         <short>Suspend a running thread.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SuspendThread</var> suspends a running thread. The thread is identified
 | |
| with it's handle or ID <var>threadHandle</var>.
 | |
| </p>
 | |
|           <p>The function returns zero if succesful. A nonzero return value indicates
 | |
| failure.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If a failure occurred, a nonzero result is returned. The meaning is system
 | |
| dependent.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="ResumeThread"/>
 | |
|           <link id="KillThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="ResumeThread">
 | |
|         <short>Resume a suspended thread.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>ResumeThread</var> causes a suspended thread (using <link id="SuspendThread"/>) to resume it's execution. The thread is 
 | |
| identified with it's handle or ID <var>threadHandle</var>.
 | |
| </p>
 | |
|           <p>The function returns zero if succesful. A nonzero return value indicates
 | |
| failure.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If a failure occurred, a nonzero result is returned. The meaning is system
 | |
| dependent.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SuspendThread"/>
 | |
|           <link id="KillThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="ThreadSwitch">
 | |
|         <short>Signal possibility of thread switch</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>ThreadSwitch</var> signals the operating system that the thread should
 | |
| be suspended and that another thread should be executed.
 | |
| </p>
 | |
|           <p>This call is a hint only, and may be ignored.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="SuspendThread"/>
 | |
|           <link id="ResumeThread"/>
 | |
|           <link id="KillThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="KillThread">
 | |
|         <short>Kill a running thread</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>KillThread</var> causes a running thread to be aborted. The thread is
 | |
| identified by it's handle or ID <var>threadHandle</var>.
 | |
| </p>
 | |
|           <p>The function returns zero if succesful. A nonzero return value indicates
 | |
| failure.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If a failure occurred, a nonzero result is returned. The meaning is system
 | |
| dependent.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="WaitForThreadTerminate"/>
 | |
|           <link id="EndThread"/>
 | |
|           <link id="SuspendThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="WaitForThreadTerminate">
 | |
|         <short>Wait for a thread to terminate.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>WaitForThreadTerminate</var> waits for a thread to finish its
 | |
| execution. The thread is identified by it's handle or ID
 | |
| <var>threadHandle</var>. If the thread does not exit within <var>TimeoutMs</var>
 | |
| milliseconds, the function will return with an error value.
 | |
| </p>
 | |
|           <p>The function returns the exit code of the thread.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="EndThread"/>
 | |
|           <link id="KillThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="ThreadSetPriority">
 | |
|         <short>Set the priority of a thread.</short>
 | |
|         <descr>
 | |
|           <var>ThreadSetPriority</var> sets the priority of thread <var>TThreadID</var> to <var>Prio</var>.
 | |
| Priority is a value between -15 and 15. 
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="ThreadGetPriority"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="ThreadGetPriority">
 | |
|         <short>Return the priority of a thread.</short>
 | |
|         <descr>
 | |
|           <var>ThreadGetPriority</var> returns the priority of thread
 | |
| <var>TThreadID</var> to <var>Prio</var>. The returned priority
 | |
| is a value between -15 and 15.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="ThreadSetPriority"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="GetCurrentThreadId">
 | |
|         <short>Return the id of the currently running thread.</short>
 | |
|         <descr>
 | |
|           <var>GetCurrentThreadId</var> returns the ID of the currently running
 | |
| thread. It can be used in calls such as <link id="KillThread"/> or 
 | |
| <link id="ThreadSetPriority"/>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="KillThread"/>
 | |
|           <link id="ThreadSetPriority"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="InitCriticalSection">
 | |
|         <short>Initialize a critical section</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>InitCriticalSection</var> initializes a critical section <var>CS</var>
 | |
| for use. Before using a critical section with <link id="EnterCriticalsection"/> or
 | |
| <link id="LeaveCriticalsection"/> the critical section should be initialized
 | |
| with <var>InitCriticalSection</var>.
 | |
| </p>
 | |
|           <p>When a critical section is no longer used, it should be disposed of with
 | |
| <link id="DoneCriticalsection"/>
 | |
|           </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="DoneCriticalsection"/>
 | |
|           <link id="EnterCriticalsection"/>
 | |
|           <link id="LeaveCriticalsection"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="DoneCriticalsection">
 | |
|         <short>Clean up a critical section.</short>
 | |
|         <descr>
 | |
|           <var>DoneCriticalsection</var> cleans up the critical section <var>CS</var>.
 | |
| After a call to <var>DoneCriticalsection</var>, the critical section can no
 | |
| longer be used with <link id="EnterCriticalsection"/> or
 | |
| <link id="LeaveCriticalsection"/>,  unless it is again initialized with <link id="InitCriticalSection"/>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="InitCriticalsection"/>
 | |
|           <link id="EnterCriticalsection"/>
 | |
|           <link id="LeaveCriticalsection"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="EnterCriticalSection">
 | |
|         <short>Enter a critical section</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>EnterCriticalSection</var> will suspend the current thread if another
 | |
| thread has currently entered the critical section. When the other thread has
 | |
| left the critical section (through <link id="LeaveCriticalSection"/>), the
 | |
| current thread resumes execution. The result is that only 1 thread is
 | |
| executing code which is protected by a <var>EnterCriticalsection</var> and 
 | |
| <var>LeaveCriticalSection</var> pair.
 | |
| </p>
 | |
|           <p>The critical section must have been initialized with <link id="InitCriticalSection"/>
 | |
| prior to a call to <var>EnterCriticalsection</var>.
 | |
| </p>
 | |
|           <p>A call to <var>EnterCriticalsection</var> must always be matched by a call
 | |
| to <link id="LeaveCriticalSection"/>. To avoid problems, it is best to
 | |
| include the code to be execute in a <var>try...finally</var> block, as
 | |
| follows:
 | |
| </p>
 | |
|           <code>EnterCriticalSection(Section);
 | |
|   Try 
 | |
|     // Code to be protected goes here.
 | |
|   Finally
 | |
|     LeaveCriticalSection(Section);
 | |
|   end;
 | |
| </code>
 | |
|           <p>For performance reasons it is best to limit the code between the entering
 | |
| and leaving of a critical section as short as possible.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="InitCriticalsection"/>
 | |
|           <link id="DoneCriticalsection"/>
 | |
|           <link id="LeaveCriticalsection"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="LeaveCriticalsection">
 | |
|         <short>Leave a critical section</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>LeaveCriticalSection</var> signals that the current thread is exiting
 | |
| the critical section <var>CS</var> it has entered with <link id="EnterCriticalSection"/>.
 | |
| </p>
 | |
|           <p>The critical section must have been initialized with <link id="InitCriticalSection"/>
 | |
| prior to a call to <var>EnterCriticalsection</var> and <var>LeaveCriticalSection</var>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="InitCriticalsection"/>
 | |
|           <link id="DoneCriticalsection"/>
 | |
|           <link id="EnterCriticalsection"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="BasicEventCreate">
 | |
|         <short>Obsolete. Don't use</short>
 | |
|         <descr>
 | |
|           <var>BasicEventCreate</var> is obsolete, use <link id="RTLEventCreate"/>
 | |
| instead.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventCreate"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="basiceventdestroy">
 | |
|         <short>Obsolete. Don't use</short>
 | |
|         <descr>
 | |
|           <var>basiceventdestroy</var> is obsolete. Use <link id="RTLEventDestroy"/>
 | |
| instead.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventDestroy"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="basiceventResetEvent">
 | |
|         <short>Obsolete. Don't use</short>
 | |
|         <descr>
 | |
|           <var>basiceventResetEvent</var> is obsolete. Use <link id="RTLEventResetEvent"/>
 | |
| instead.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventResetEvent"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="basiceventSetEvent">
 | |
|         <short>Obsolete. Don't use</short>
 | |
|         <descr>
 | |
|           <var>basiceventSetEvent</var> is obsolete. Use <link id="RTLEventSetEvent"/>
 | |
| instead.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventSetEvent"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="basiceventWaitFor">
 | |
|         <short>Obsolete. Don't use</short>
 | |
|         <descr>
 | |
|           <var>basiceventwaitfor</var> is obsolete. Use <link id="RTLEventWaitFor"/>
 | |
| instead.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventWaitFor"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RTLEventCreate">
 | |
|         <short>Create a new RTL event</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>RTLEventCreate</var> creates and initializes a new RTL event.  RTL
 | |
| events are used to notify other threads that a certain condition is met, 
 | |
| and to notify other threads of condition changes (conditional variables).
 | |
| </p>
 | |
|           <p>The function returns an initialized RTL event, which must be disposed of
 | |
| with <link id="RTLEventdestroy"/>
 | |
|           </p>
 | |
|           <p>
 | |
|             <var>RTLEvent</var> is used mainly for the synchronize method.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventDestroy"/>
 | |
|           <link id="RTLEventSetEvent"/>
 | |
|           <link id="RTLEventReSetEvent"/>
 | |
|           <link id="RTLEventWaitFor"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="RTLeventdestroy">
 | |
|         <short>Destroy a RTL Event</short>
 | |
|         <descr>
 | |
|           <var>RTLeventdestroy</var> destroys the RTL event <var>State</var>.
 | |
| After a call to <var>RTLeventdestroy</var>, the <var>State</var> RTL event
 | |
| may no longer be used.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventCreate"/>
 | |
|           <link id="RTLEventResetEvent"/>
 | |
|           <link id="RTLEventSetEvent"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="RTLeventSetEvent">
 | |
|         <short>Notify threads of the event.</short>
 | |
|         <descr>
 | |
|           <var>RTLeventSetEvent</var> notifies other threads which are listening, 
 | |
| that the event has occurred.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventCreate"/>
 | |
|           <link id="RTLEventResetEvent"/>
 | |
|           <link id="RTLEventDestroy"/>
 | |
|           <link id="RTLEventWaitFor"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="RTLeventResetEvent">
 | |
|         <short>Reset an event</short>
 | |
|         <descr>
 | |
|           <var>RTLeventResetEvent</var> resets the event: this should be used to undo
 | |
| the signaled state of an event. Resetting an event that is not set (or was
 | |
| already reset) has no effect.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventCreate"/>
 | |
|           <link id="RTLEventDestroy"/>
 | |
|           <link id="RTLEventSetEvent"/>
 | |
|           <link id="RTLEventWaitFor"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="RTLeventStartWait">
 | |
|         <short>Prepare the event for waiting.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>RTLeventResetEvent</var> signals that a thread is ready to start
 | |
| waiting on an event <var>state</var>. No event can be posted until a thread explicitly 
 | |
| starts waiting on the event using <link id="RTLEventWaitFor"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventCreate"/>
 | |
|           <link id="RTLEventDestroy"/>
 | |
|           <link id="RTLEventSetEvent"/>
 | |
|           <link id="RTLEventWaitFor"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="RTLeventWaitFor">
 | |
|         <short>Wait for an event.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>RTLeventWaitFor</var> suspends the thread till the event occurs. The
 | |
| event will occur when another thread calls <link id="RTLEventSetEvent"/> on
 | |
| <var>State</var>.
 | |
| </p>
 | |
|           <p>By default, the thread will be suspended indefinitely. However, if
 | |
| <var>TimeOut</var> is specified, then the thread will resume after timeout
 | |
| milliseconds have elapsed.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="RTLEventCreate"/>
 | |
|           <link id="RTLEventDestroy"/>
 | |
|           <link id="RTLEventSetEvent"/>
 | |
|           <link id="RTLEventWaitFor"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="RTLeventsync">
 | |
|         <short>Obsolete. Don't use</short>
 | |
|         <descr>
 | |
|           <var>RTLeventsync</var> is obsolete, don't use it.
 | |
| </descr>
 | |
|       </element>
 | |
|       <element name="ThreadingAlreadyUsed">
 | |
|         <short>Internal constant for the threading system. Don't use.</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="CtrlZMarksEOF">
 | |
|         <short>Determine whether CTRL-Z marks the end of file.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>CtrlZMarksEOF</var> indicates whether on this system, an
 | |
| <var>CTRL-Z</var> character (ordinal 26) in a file marks the 
 | |
| end of the file. This is <var>False</var> on most systems except on DOS.
 | |
| </p>
 | |
|           <p>To get DOS-compatible behaviour, this constant can be set to <var>True</var>
 | |
|           </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="LineEnding"/>
 | |
|           <link id="SetTextLineEnding"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="SIGSTKSZ" skip="1"/>
 | |
|       <element name="AnsiToUtf8">
 | |
|         <short>Convert ansi string to UTF-8 string</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>AnsiToUtf8</var> converts the ansistring <var>S</var> to a UTF-8
 | |
| format, that is, it converts the string from whatever codepage is currently
 | |
| in use, to UTF-8.
 | |
| </p>
 | |
|           <p>The current codepage is fetched from the system, if internationalization support 
 | |
| is enabled. It can be UTF-8, in which case the function simply returns
 | |
| <var>S</var>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="Utf8toAnsi"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="DefaultAnsi2WideMove">
 | |
|         <short>Standard implementation of Ansi to Widestring conversion routine</short>
 | |
|         <descr>
 | |
|           <var>DefaultAnsi2WideMove</var> simply copies each character of the
 | |
| null-terminated ansi-string <var>Source</var> to the corresponding WideChar
 | |
| in <var>Dest</var>. At most <var>Len</var> characters will be copied.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="DefaultWide2AnsiMove"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="DefaultWide2AnsiMove">
 | |
|         <short>Standard implementation of Widestring to Ansi conversion routine</short>
 | |
|         <descr>
 | |
|           <var>DefaultWide2AnsiMove</var> simply copies each character from
 | |
| <var>Source</var> having an ordinal value of less than 255 to the
 | |
| corresponding character in <var>Dest</var>. Characters having an 
 | |
| ordinal valuelarger than 255 will be replaced by question marks.
 | |
| At most <var>Len</var> characters will be copied.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="DefaultAnsi2WideMove"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="DynArraySetLength">
 | |
|         <short>Set the length of a dynamic array</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>DynArraySetLength</var> sets the length of the dynamical array
 | |
| <var>a</var> to the first <var>dimCnt</var> lengths specified in the 
 | |
| array <var>lengthVec</var>. The dynamical array type is described in
 | |
| <var>typeInfo</var> which points to a record of type <link id="TDynArrayTypeInfo"/>
 | |
|           </p>
 | |
|           <p>It should never be necessary to call this function directly, the 
 | |
| standard <link id="SetLength"/> function should be used instead.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If an invalid pointer is specified, an error may occur.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="SetLength"/>
 | |
|           <link id="tdynarraytypeinfo"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="GetFPCHeapStatus">
 | |
|         <short>Return FPC heap manager status information</short>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="HGLOBAL">
 | |
|         <short>Windows compatibility type for use in resources</short>
 | |
|         <descr>This is an opaque type.
 | |
| </descr>
 | |
|       </element>
 | |
|       <element name="HINSTANCE">
 | |
|         <short>Windows compatibility type for use in resources</short>
 | |
|         <descr>This is an opaque type.
 | |
| </descr>
 | |
|       </element>
 | |
|       <element name="HMODULE">
 | |
|         <short>Windows compatibility type for use in resources</short>
 | |
|         <descr>This is an opaque type.
 | |
| </descr>
 | |
|       </element>
 | |
|       <element name="IDispatch">
 | |
|         <short>Dispatch interface</short>
 | |
|         <descr>
 | |
|           <var>IDispatch</var> is the pascal definition of the Windows Dispatch
 | |
| interface definition.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IUnknown"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="IDispatch.GetIDsOfNames">
 | |
|         <short>Return IDs of named procedures</short>
 | |
|         <descr>Return the ID of a procedure.
 | |
| </descr>
 | |
|       </element>
 | |
|       <element name="IDispatch.GetTypeInfo">
 | |
|         <short>Return type information about properties</short>
 | |
|       </element>
 | |
|       <element name="IDispatch.GetTypeInfoCount">
 | |
|         <short>Return number of properties.</short>
 | |
|       </element>
 | |
|       <element name="IDispatch.Invoke">
 | |
|         <short>Invoke a dispatch method</short>
 | |
|       </element>
 | |
|       <element name="IInterface">
 | |
|         <short>Basic interface for all COM based interfaces</short>
 | |
|         <descr>
 | |
|           <var>IInterface</var> is the basic interface from which all COM style
 | |
| interfaces descend.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IDispatch"/>
 | |
|           <link id="IInvokable"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="IInvokable">
 | |
|         <short>Interface with RTTI associated with it.</short>
 | |
|         <descr>
 | |
|           <var>IInvokable</var> is a descendent of <link id="IInterface"/>, compiled
 | |
| in the <var>{$M+}</var> state, so Run-Time Type Information (RTTI) is
 | |
| generated for it.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IDispatch"/>
 | |
|           <link id="IInterface"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="InitThreadVars">
 | |
|         <short>Initialize threadvars </short>
 | |
|         <descr>This routine should be called when threading is started. It is called by the
 | |
| compiler and should never be called manually, only from a thread manager.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TThreadManager"/>
 | |
|           <link id="TThreadManager.InitThreadVar"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="IUnknown">
 | |
|         <short>Basic interface for all COM-based interfaces</short>
 | |
|         <descr>
 | |
|           <var>IUnknown</var> is defined by windows. It's the basic interface which
 | |
| all COM objects must implement. The definition does not contain any code.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IInterface"/>
 | |
|           <link id="IDispatch"/>
 | |
|           <link id="IInvokable"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="IUnknown._AddRef">
 | |
|         <short>Increase reference count of the interface</short>
 | |
|         <seealso>
 | |
|           <link id="IUnknown._Release"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="IUnknown.QueryInterface">
 | |
|         <short>Return pointer to VMT table of interface </short>
 | |
|       </element>
 | |
|       <element name="IUnknown._Release">
 | |
|         <short>Decrease reference count of the interface</short>
 | |
|         <seealso>
 | |
|           <link id="IUnknown._AddRef"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="FindResource">
 | |
|         <short>Locate a resource and return a handle to it.</short>
 | |
|         <descr>
 | |
|           <var>FindResource</var> searches for a resource with name
 | |
| <var>ResourceName</var> and of type <var>ResourceType</var> 
 | |
| in the executable or library identified by <var>ModuleHandle</var>.
 | |
| It returns a <var>TResourceHandle</var> which can be used to load the
 | |
| resource with <link id="LoadResource"/>.
 | |
| </descr>
 | |
|         <errors>None. In case the resource was not found, 0 is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="FreeResource"/>
 | |
|           <link id="LoadResource"/>
 | |
|           <link id="SizeofResource"/>
 | |
|           <link id="LockResource"/>
 | |
|           <link id="UnlockResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="FreeResource">
 | |
|         <short>Free a loaded resource</short>
 | |
|         <descr>
 | |
|           <var>FreeResource</var> unloads the resource identified by
 | |
| <var>ResData</var> from memory. The resource must have been loaded by <link id="LoadResource"/>. It returns <var>True</var> if the operation was
 | |
| succesful, <var>False</var> otherwise.
 | |
| </descr>
 | |
|         <errors>On error, <var>False</var> is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="FindResource"/>
 | |
|           <link id="LoadResource"/>
 | |
|           <link id="SizeofResource"/>
 | |
|           <link id="LockResource"/>
 | |
|           <link id="UnlockResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="LoadResource">
 | |
|         <short>Load a resource for use</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>LoadResource</var> loads a resource identified by <var>ResHandle</var>
 | |
| from a module identified by <var>ModuleHandle</var>into memory. It returns
 | |
| a handle to the resource.
 | |
| </p>
 | |
|           <p>Loaded resources must be unloaded again using the <link id="FreeResource"/>
 | |
| function.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>On error, 0 is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="FindResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|           <link id="SizeofResource"/>
 | |
|           <link id="LockResource"/>
 | |
|           <link id="UnlockResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="LockResource">
 | |
|         <short>Lock a resource</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>LockResource</var> locks a resource previously loaded by
 | |
| <var>LoadResource</var> into memory. This means that any attempt to modify
 | |
| the resource will fail while it is locked. The function returns a pointer to
 | |
| the resource location in memory.
 | |
| </p>
 | |
|           <p>The resource can be freed again using the <link id="UnlockResource"/>
 | |
| function.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>if the function fails, <var>Nil</var> is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="FindResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|           <link id="SizeofResource"/>
 | |
|           <link id="LoadResource"/>
 | |
|           <link id="UnlockResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="SizeofResource">
 | |
|         <short>Return the size of a particular resource</short>
 | |
|         <descr>
 | |
|           <var>SizeOfResource</var> returns the size of the resource identified by
 | |
| <var>ResHandle</var> in module identified by <var>ModuleHandle</var>. 
 | |
| <var>ResHandle</var> should be obtained from a call to <link id="LoadResource"/>
 | |
|         </descr>
 | |
|         <errors>In case of an error, 0 is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="FindResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|           <link id="LoadResource"/>
 | |
|           <link id="LockResource"/>
 | |
|           <link id="UnlockResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="UnlockResource">
 | |
|         <short>Unlock a previously locked resource</short>
 | |
|         <descr>
 | |
|           <var>UnlockResource</var> unlocks a previously locked resource. Note that
 | |
| this function does not exist on windows, it's only needed on other
 | |
| platforms.
 | |
| </descr>
 | |
|         <errors>The function returns <var>False</var> if it failed.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="FindResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|           <link id="SizeofResource"/>
 | |
|           <link id="LoadResource"/>
 | |
|           <link id="lockResource"/>
 | |
|           <link id="FreeResource"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="MAKEINTRESOURCE">
 | |
|         <short>Alias for the <link id="#rtl.system.PChar">PChar</link> type.</short>
 | |
|       </element>
 | |
|       <element name="MaxKeptOSChunks">
 | |
|         <short>Maximum number of OS chunks to be kept in memory</short>
 | |
|         <descr>
 | |
|           <var>MaxKeptOSChunks</var> tells the heap manager how many free 
 | |
| chunks of OS-allocated memory it should keep in memory. When freeing memory,
 | |
| it can happen that a memory block obtained from the OS is completely free.
 | |
| If more than <var>MaxKeptOSChunks</var> such blocks are free, then the heap
 | |
| manager will return them to the OS, to reduce memory requirements.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="FreeMem"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="MaxPathLen">
 | |
|         <short>Constant defining the maximum length of filenames (including path)</short>
 | |
|         <descr>This constant is system dependent.
 | |
| </descr>
 | |
|       </element>
 | |
|       <element name="BEtoN">
 | |
|         <short>Convert Big Endian-ordered integer to Native-ordered integer</short>
 | |
|         <descr>
 | |
|           <var>BEToN</var> will rearrange the bytes in a Big-Endian number to 
 | |
| the native order for the current processor. That is, for a big-endian 
 | |
| processor, it will do nothing, and for a little-endian processor, 
 | |
| it will invert the order of the bytes.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="LEtoN"/>
 | |
|           <link id="NtoBE"/>
 | |
|           <link id="NtoLE"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="LEtoN">
 | |
|         <short>Convert Little Endian-ordered integer to Native-ordered integer</short>
 | |
|         <descr>
 | |
|           <var>LEToN</var> will rearrange the bytes in a Little-Endian number to 
 | |
| the native order for the current processor. That is, for a little-endian 
 | |
| processor, it will do nothing, and for a big-endian processor, 
 | |
| it will invert the order of the bytes.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="BEtoN"/>
 | |
|           <link id="NtoBE"/>
 | |
|           <link id="NtoLE"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="NtoBE">
 | |
|         <short>Convert Native-ordered integer to a Big Endian-ordered integer</short>
 | |
|         <descr>
 | |
|           <var>NToBE</var> will rearrange the bytes in a natively-ordered number to 
 | |
| the Big-Endian order. That is, for a Little-Endian processor, it will 
 | |
| invert the order of the bytes and for a big-endian processor, it will do
 | |
| nothing.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="BEtoN"/>
 | |
|           <link id="LEtoN"/>
 | |
|           <link id="NtoLE"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="NtoLE">
 | |
|         <short>Convert Native-ordered integer to a Little Endian-ordered integer</short>
 | |
|         <descr>
 | |
|           <var>NToLE</var> will rearrange the bytes in a natively-ordered number to 
 | |
| the little-Endian order. That is, for a Big-Endian processor, it will 
 | |
| invert the order of the bytes and for a Little-Endian processor, it will do
 | |
| nothing.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="BEtoN"/>
 | |
|           <link id="LEtoN"/>
 | |
|           <link id="NtoBE"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="PDispatch">
 | |
|         <short>Pointer to <link id="#rtl.system.IDispatch">IDispatch</link> interface type</short>
 | |
|       </element>
 | |
|       <element name="PDynArrayTypeInfo">
 | |
|         <short>Pointer to <link id="#rtl.system.tdynarraytypeinfo">TDynArrayTypeInfo</link> type.</short>
 | |
|       </element>
 | |
|       <element name="PPDispatch">
 | |
|         <short>Pointer to <link id="#rtl.system.PDispatch">PDispatch</link> pointer type</short>
 | |
|       </element>
 | |
|       <element name="PPUnknown">
 | |
|         <short>Pointer to untyped pointer</short>
 | |
|       </element>
 | |
|       <element name="PUnknown">
 | |
|         <short>Untyped pointer</short>
 | |
|       </element>
 | |
|       <element name="PWideString">
 | |
|         <short>Pointer to widestring type</short>
 | |
|       </element>
 | |
|       <element name="RT_ACCELERATOR">
 | |
|         <short>Constant identifying an accelerator resouce</short>
 | |
|       </element>
 | |
|       <element name="RT_BITMAP">
 | |
|         <short>Constant identifying a bitmap resource</short>
 | |
|       </element>
 | |
|       <element name="RT_CURSOR">
 | |
|         <short>Constant identifying a cursor resource</short>
 | |
|       </element>
 | |
|       <element name="RT_DIALOG">
 | |
|         <short>Constant identifying a dialog resource</short>
 | |
|       </element>
 | |
|       <element name="RT_FONT">
 | |
|         <short>Constant identifying a font resource</short>
 | |
|       </element>
 | |
|       <element name="RT_FONTDIR">
 | |
|         <short>Constant identifying a font directory resource</short>
 | |
|       </element>
 | |
|       <element name="RT_GROUP_CURSOR">
 | |
|         <short>Constant identifying a group cursor resource</short>
 | |
|       </element>
 | |
|       <element name="RT_GROUP_ICON">
 | |
|         <short>Constant identifying a group icon resource</short>
 | |
|       </element>
 | |
|       <element name="RT_ICON">
 | |
|         <short>Constant identifying an icon resource</short>
 | |
|       </element>
 | |
|       <element name="RT_MENU">
 | |
|         <short>Constant identifying a menu resource</short>
 | |
|       </element>
 | |
|       <element name="RT_MESSAGETABLE">
 | |
|         <short>Constant identifying a message data resource</short>
 | |
|       </element>
 | |
|       <element name="RT_RCDATA">
 | |
|         <short>Constant identifying a binary data resource</short>
 | |
|       </element>
 | |
|       <element name="RT_STRING">
 | |
|         <short>Constant identifying a string table resource</short>
 | |
|       </element>
 | |
|       <element name="RT_VERSION">
 | |
|         <short>Constant identifying a version info resource</short>
 | |
|       </element>
 | |
|       <element name="RuntimeErrorExitCodes">
 | |
|         <short>Mapping between runtime-error constants and program exit codes</short>
 | |
|         <descr>This array is used by the <link id="Error"/> routine to to convert a 
 | |
| <link id="TRuntimeError"/> enumeration type to a process exit code.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="Error"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="SafeCallErrorProc">
 | |
|         <short>Error handler for safecall errors</short>
 | |
|         <descr>
 | |
|           <var>SafeCallErrorProc</var> is a Handler called in case of a 
 | |
| safecall calling convention error. <var>Error</var> is the error 
 | |
| number (passed by the Windows operating system) and <var>Addr</var> is the address where the 
 | |
| error occurred.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TSafeCallErrorProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="GetWideStringManager">
 | |
|         <short>Return a copy of the currently active widestring manager.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>GetWideStringManager</var> returns a copy of the currently active 
 | |
| heap manager in <var>Old</var>
 | |
|           </p>
 | |
|           <p>WideStrings are implemented in different ways on different platforms. 
 | |
| Therefore, the Free Pascal Runtime library has no fixed implementation of
 | |
| widestring routines. Instead, it defines a WideString manager record, 
 | |
| with callbacks that can be set to an implementation which is most 
 | |
| efficient on the current platform. On windows, standard Windows 
 | |
| routines will be used. On Unix and Linux, an implementation based on the 
 | |
| C library is available (in unit <file>cwstring</file>).
 | |
| </p>
 | |
|           <p>It is possible to implement a custom widestring manager, optimized for 
 | |
| the current application, without having to recompile the complete Run-Time Library.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="SetWideStringManager"/>
 | |
|           <link id="TWideStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="SetWideStringManager">
 | |
|         <short>Set the widestring manager</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SetWideStringManager</var> sets the current widestring manager to <var>New</var>.
 | |
| Optionally, it returns the currently active widestring manager in <var>Old</var>.
 | |
| </p>
 | |
|           <p>WideStrings are implemented in different ways on different platforms. 
 | |
| Therefore, the Free Pascal Runtime library has no fixed implementation of
 | |
| widestring routines. Instead, it defines a WideString manager record, 
 | |
| with callbacks that can be set to an implementation which is most 
 | |
| efficient on the current platform. On windows, standard Windows 
 | |
| routines will be used. On Unix and Linux, an implementation based on the 
 | |
| C library is available (in unit <file>cwstring</file>).
 | |
| </p>
 | |
|           <p>It is possible to implement a custom widestring manager, optimized for 
 | |
| the current application, without having to recompile the complete Run-Time Library.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors/>
 | |
|         <seealso>
 | |
|           <link id="TWideStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TWideStringManager">
 | |
|         <short>Record containing the various callbacks of the widestring manager.</short>
 | |
|         <descr>
 | |
|           <var>TWideStringManager</var> contains the definition of the widestring manager.
 | |
| </descr>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.Wide2AnsiMoveProc">
 | |
|         <short>Convert an AnsiString to a WideString</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.Ansi2WideMoveProc">
 | |
|         <short>Convert a WideString to an AnsiString</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.UpperWideStringProc">
 | |
|         <short>Convert a widestring to all-uppercase</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.LowerWideStringProc">
 | |
|         <short>Convert a widestring to all-lowercase</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.CompareWideStringProc">
 | |
|         <short>Compare 2 widestrings, case-sensitive</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.CompareTextWideStringProc">
 | |
|         <short>Compare 2 widestrings, case-insensitive</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.CharLengthPCharProc">
 | |
|         <short>Return the length, in characters, of a widestring</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.UpperAnsiStringProc">
 | |
|         <short>Convert an ansistring to all-uppercase</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.LowerAnsiStringProc">
 | |
|         <short>Convert an ansistring to all-lowercase</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.CompareStrAnsiStringProc">
 | |
|         <short>Compare 2 ansistrings, case-sensitive</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.CompareTextAnsiStringProc">
 | |
|         <short>Compare 2 ansistrings, case-insensitive</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.StrCompAnsiStringProc">
 | |
|         <short>Compare 2 null-terminated ansistrings, case-sensitive</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.StrICompAnsiStringProc">
 | |
|         <short>Compare 2 null-terminated ansistrings, case-insensitive</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.StrLCompAnsiStringProc">
 | |
|         <short>Compare 2 null-terminated ansistrings, case-sensitive, for a maximum length</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.StrLICompAnsiStringProc">
 | |
|         <short>Compare 2 null-terminated ansistrings, case-insensitive, for a maximum length</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.StrLowerAnsiStringProc">
 | |
|         <short>Convert an ansistring to all-lowercase</short>
 | |
|       </element>
 | |
|       <element name="TWideStringManager.StrUpperAnsiStringProc">
 | |
|         <short>Convert an ansistring to all-uppercase</short>
 | |
|       </element>
 | |
|       <element name="StackTop">
 | |
|         <short>Top location of the stack.</short>
 | |
|         <descr>
 | |
|           <var>StackTop</var> contains the top of the stack for the current process.
 | |
| It is used to check the heap on some operating systems, and is set by the 
 | |
| system unit initialization code. Do not use or modify this value.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="StackBottom"/>
 | |
|           <link id="StackLength"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="StringToWideChar">
 | |
|         <short>Convert a string to an array of widechars.</short>
 | |
|         <descr>
 | |
|           <var>StringToWideChar</var> converts an ansistring <var>Src</var> 
 | |
| to a null-terminated  array of WideChars. The destination for this
 | |
| array is pointed to by <var>Dest</var>, and contains room for at 
 | |
| least <var>DestSize</var> widechars.
 | |
| </descr>
 | |
|         <errors>No validity checking is performed on <var>Dest</var>.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="WideCharToString"/>
 | |
|           <link id="WideCharToStrVar"/>
 | |
|           <link id="WideCharLenToStrVar"/>
 | |
|           <link id="WideCharLenToString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="SysGetFPCHeapStatus">
 | |
|         <short>Return the status of the FPC heapmanager</short>
 | |
|         <descr>
 | |
|           <var>SysGetFPCHeapStatus</var> returns the status of the 
 | |
| default FPC heapmanager. It is set as the default value 
 | |
| of the corresponding <link id="GetFPCHeapStatus"/> function.
 | |
| </descr>
 | |
|         <errors>None. The result of this function is bogus information if
 | |
| the current heapmanager is not the standard FPC heapmanager.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="GetFPCHeapStatus"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="tdynarraytypeinfo">
 | |
|         <short>Type information for a dynamic array.</short>
 | |
|         <descr>
 | |
|           <var>tdynarraytypeinfo</var> describes the structure of 
 | |
| a multi-dimensional dynamical array. 
 | |
| It is used in the <link id="DynArraySetLength"/> call.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="DynArraySetLength"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="tdynarraytypeinfo.kind">
 | |
|         <short>Kind of array.</short>
 | |
|       </element>
 | |
|       <element name="tdynarraytypeinfo.namelen">
 | |
|         <short>Length of the Name of the array type. Name follows as Namelen characters.</short>
 | |
|       </element>
 | |
|       <element name="tdynarraytypeinfo.elesize">
 | |
|         <short>Size of a single element in the array</short>
 | |
|       </element>
 | |
|       <element name="tdynarraytypeinfo.eletype">
 | |
|         <short>Pointer to next dimension structure in case of a multidimensional array</short>
 | |
|       </element>
 | |
|       <element name="tdynarraytypeinfo.vartype">
 | |
|         <short>Type (variant type) of element in the array</short>
 | |
|       </element>
 | |
|       <element name="TError">
 | |
|         <short>Error type, used in variants.</short>
 | |
|       </element>
 | |
|       <element name="TFPCHeapStatus">
 | |
|         <short>Record describing the state of the default FPC heap manager.</short>
 | |
|         <descr>
 | |
|           <var>TFPCHeapStatus</var> describes the state of the FPC heap manager. 
 | |
| This is not equivalent to the <link id="THeapStatus"/> record defined 
 | |
| by Delphi, which contains information not meaningful for the FPC heap manager.
 | |
| The heap status can be retrieved by the <link id="GetFPCHeapStatus"/> call.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetFPCHeapStatus"/>
 | |
|           <link id="GetHeapStatus"/>
 | |
|           <link id="THeapStatus"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TFPCHeapStatus.MaxHeapSize">
 | |
|         <short>Maximum allowed size for the heap, in bytes</short>
 | |
|       </element>
 | |
|       <element name="TFPCHeapStatus.MaxHeapUsed">
 | |
|         <short>Maximum used size for the heap, in bytes</short>
 | |
|       </element>
 | |
|       <element name="TFPCHeapStatus.CurrHeapSize">
 | |
|         <short>Current heap size, in bytes</short>
 | |
|       </element>
 | |
|       <element name="TFPCHeapStatus.CurrHeapUsed">
 | |
|         <short>Currently used heap size, in bytes</short>
 | |
|       </element>
 | |
|       <element name="TFPCHeapStatus.CurrHeapFree">
 | |
|         <short>Currently free memory on heap, in bytes</short>
 | |
|       </element>
 | |
|       <element name="TInterfacedClass">
 | |
|         <short>
 | |
|           <link id="#rtl.system.tobject">TObject</link> descendent implementing the <link id="#rtl.system.IInterface">IInterface</link> interface </short>
 | |
|         <descr>
 | |
|           <var>TInterfacedClass</var> is a descendent of 
 | |
| </descr>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="TInterfacedObject">
 | |
|         <short>
 | |
|           <link id="#rtl.system.tobject">TObject</link> descendent implementing the <link id="#rtl.system.IUnknown">IUnknown</link> interface </short>
 | |
|         <descr>
 | |
|           <var>TInterfacedObject</var> is a descendent of <link id="TObject"/> which implements the
 | |
| <link id="IUnknown"/> interface. It can be used as a base class for all classes which need
 | |
| reference counting.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IUnknown"/>
 | |
|           <link id="TObject"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TInterfacedObject.AfterConstruction">
 | |
|         <short>Handle reference count properly.</short>
 | |
|         <descr>
 | |
|           <var>AfterConstruction</var> overrides the basic method in <var>TObject</var> 
 | |
| and adds some additional reference count handling.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TInterfacedObject.BeforeDestruction">BeforeDestruction</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TInterfacedObject.BeforeDestruction">
 | |
|         <short>Check reference count.</short>
 | |
|         <descr>
 | |
|           <var>AfterConstruction</var> overrides the basic method in <var>TObject</var> 
 | |
| and adds a reference count check: if the reference count is not zero, an error
 | |
| occurs.
 | |
| </descr>
 | |
|         <errors>A runtime-error 204 will be generated if the reference count is nonzero when 
 | |
| the object is destroyed.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TInterfacedObject.AfterConstruction">AfterConstruction</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TInterfacedObject.NewInstance">
 | |
|         <short>Create a new instance</short>
 | |
|         <descr>
 | |
|           <var>NewInstance</var> initializes a new instance of <link id="TInterfacedObject"/>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <element name="TInterfacedObject.RefCount">
 | |
|         <short>Return the current reference count</short>
 | |
|         <descr>
 | |
|           <var>RefCount</var> returns the current reference count. 
 | |
| This reference count cannot be manipulated, except through 
 | |
| the methods of <link id="IUnknown"/>. When it reaches zero,
 | |
| the class instance is destroyed.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IUnknown"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TObject.GetInterface">
 | |
|         <short>Return a reference to an interface</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>GetInterface</var> scans the interface tables and returns a reference
 | |
| to the interface <var>iid</var>. The reference is stored in <var>Obj</var> 
 | |
| which should be an interface reference. It returns <var>True</var> if the 
 | |
| interface was found, <var>False</var> if not.
 | |
| </p>
 | |
|           <p>The reference count of the interface is increased by this call.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If no interface was found, <var>False</var> is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.GetInterfaceByStr">GetInterfaceByStr</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TObject.GetInterfaceByStr">
 | |
|         <short>Return an interface based on its GUID</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>GetInterfaceByStr</var> returns in <var>obj</var> a pointer to the interface 
 | |
| identified by <var>iidstr</var>. The function returns <var>True</var> if the
 | |
| interface is indeed implemented by the class, or <var>False</var> otherwise.
 | |
| </p>
 | |
|           <p>The <var>iidstr</var> is the unique GUID by which the interface was declared.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>The function returns false if the requested interface is not implemented.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TObject.GetInterfaceEntry"/>
 | |
|           <link id="TObject.GetInterfaceEntryByStr"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TObject.GetInterfaceEntry">
 | |
|         <short>Return the interface table entry by GUID</short>
 | |
|         <descr>
 | |
|           <var>GetInterfaceEntry</var> returns the internal interface table entry for the
 | |
| interface identified by <var>iid</var> (the GUID used in the declaration
 | |
| of the interface). If the interface is not implemented by the
 | |
| class, the function returns <var>Nil</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.GetInterfaceByStr"/>
 | |
|           <link id="TObject.GetInterfaceEntryByStr"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TObject.GetInterfaceEntryByStr">
 | |
|         <short>Return the interface table entry by string</short>
 | |
|         <descr>
 | |
|           <var>GetInterfaceEntryByStr</var> returns the internal interface table entry for the
 | |
| interface identified by <var>iidstr</var> (A string representation of the GUID used in the declaration
 | |
| of the interface). If the interface is not implemented by the
 | |
| class, the function returns <var>Nil</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.GetInterfaceByStr"/>
 | |
|           <link id="TObject.GetInterfaceEntry"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TObject.GetInterfaceTable">
 | |
|         <short>Return a pointer to the table of implemented interfaces for a class</short>
 | |
|         <descr>
 | |
|           <var>GetInterfaceTable</var> returns a pointer to the internal table of
 | |
| implemented interfaces for a class. The result will always point to a valid
 | |
| address, if the class implements no interfaces the <var>EntryCount</var>
 | |
| field of the interface table will be zero.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TObject.GetInterfaceByStr"/>
 | |
|           <link id="TObject.GetInterfaceEntry"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TResourceHandle">
 | |
|         <short>Handle to a resource, for use in the resource loading routines</short>
 | |
|         <descr>This is an opaque type. 
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="LoadResource"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TRuntimeError">
 | |
|         <short>Type of runtime-error for the Error procedure</short>
 | |
|         <descr>
 | |
|           <var>TRuntimeError</var> is used in the <link id="Error"/> procedure to
 | |
| indicate what kind of error should be reported. 
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="Error"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reAccessViolation">
 | |
|         <short>Access Violation</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reAssertionFailed">
 | |
|         <short>Assertion failed error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reCodesetConversion">
 | |
|         <short>Code set conversion error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reControlBreak">
 | |
|         <short>User pressed CTRL-C</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reDivByZero">
 | |
|         <short>Division by zero error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reExternalException">
 | |
|         <short>An external exception occurred</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reIntfCastError">
 | |
|         <short>Interface typecast error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reIntOverflow">
 | |
|         <short>Integer overflow error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reInvalidCast">
 | |
|         <short>Invalid (class) typecast error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reInvalidOp">
 | |
|         <short>Invalid operation error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reInvalidPtr">
 | |
|         <short>Invalid pointer error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reNone">
 | |
|         <short>No error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reOutOfMemory">
 | |
|         <short>Out of memory error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reOverflow">
 | |
|         <short>Overflow error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.rePrivInstruction">
 | |
|         <short>Privileged instruction error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reQuit">
 | |
|         <short>Quit signal error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reRangeError">
 | |
|         <short>Range check error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reSafeCallError">
 | |
|         <short>Safecall (IDispInterface) error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reStackOverflow">
 | |
|         <short>Stack overflow error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reUnderflow">
 | |
|         <short>Underflow error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reVarArrayBounds">
 | |
|         <short>Variant array bounds error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reVarArrayCreate">
 | |
|         <short>Variant array creation error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reVarDispatch">
 | |
|         <short>Variant Dispatch error.</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reVarInvalidOp">
 | |
|         <short>Invalid variant operation error</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reVarNotArray">
 | |
|         <short>Variant is not an array error.</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reVarTypeCast">
 | |
|         <short>Invalid typecase from variant</short>
 | |
|       </element>
 | |
|       <element name="TRuntimeError.reZeroDivide">
 | |
|         <short>Division by zero error</short>
 | |
|       </element>
 | |
|       <element name="TSafeCallErrorProc">
 | |
|         <short>Prototype for the safecall error handler</short>
 | |
|         <descr>Prototype of a safecall error handler routine. <var>Error</var> is the error
 | |
| number (passed by the Windows operating system) and <var>Addr</var> is the
 | |
| address where the error occurred.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="SafeCallErrorProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="TSafeCallErrorProc.error">
 | |
|         <short>Error number</short>
 | |
|       </element>
 | |
|       <element name="TSafeCallErrorProc.addr">
 | |
|         <short>Address where error occurred</short>
 | |
|       </element>
 | |
|       <element name="UCS4StringToWideString">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="UnicodeToUtf8">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="UTF8Decode">
 | |
|         <short>Convert a widestring to a UTF-8 encoded unicode string</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UTF8Decode</var> converts the widestring <var>S</var> to a UTF-8 
 | |
| encoded unicode string and returns the resulting string. It calls the
 | |
| low-level <link id="Utf8ToUnicode"/> function to do the actual work.
 | |
| </p>
 | |
|           <p>For this function to work, a widestring manager must be installed.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="UTF8Encode"/>
 | |
|           <link id="Utf8ToAnsi"/>
 | |
|           <link id="SetWideStringManager"/>
 | |
|           <link id="Utf8ToUnicode"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="UTF8Encode">
 | |
|         <short>Convert a UTF-8 encoded unicode string to a widestring</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UTF8Encode</var> converts the UTF-8 encoded unicode string S to a
 | |
| widestring and returns the resulting string. It calls the
 | |
| low-level <link id="UnicodeToUTF8"/> function to do the actual work.
 | |
| </p>
 | |
|           <p>For this function to work, a widestring manager must be installed.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="UTF8Decode"/>
 | |
|           <link id="Utf8ToAnsi"/>
 | |
|           <link id="UnicodeToUtf8"/>
 | |
|           <link id="SetWideStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Utf8ToAnsi">
 | |
|         <short>Convert a UTF-8 encoded unicode string to an ansistring</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Utf8ToAnsi</var> converts an utf8-encode unicode string to an
 | |
| ansistring. It converts the string to a widestring and then converts
 | |
| the widestring to an ansistring.
 | |
| </p>
 | |
|           <p>For this function to work, a widestring manager must be installed.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors/>
 | |
|         <seealso>
 | |
|           <link id="UTF8Encode"/>
 | |
|           <link id="UTF8Decode"/>
 | |
|           <link id="SetWideStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="Utf8ToUnicode">
 | |
|         <short>Convert a buffer with UTF-8 characters to widestring characters</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Utf8ToUnicode</var> converts the buffer in <var>Source</var> with a
 | |
| length of <var>SourceBytes</var> or for a maximum length of
 | |
| <var>MaxChars</var>  (or <var>MaxDestChars</var>) widestring 
 | |
| characters to the buffer pointed to by <var>Dest</var>.
 | |
| </p>
 | |
|           <p>The function returns the number of copied widestring characters.
 | |
| </p>
 | |
|           <p>For this function to work, a widestring manager must be installed.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>On error, -1 is returned.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="UTF8Encode"/>
 | |
|           <link id="UTF8Decode"/>
 | |
|           <link id="Utf8ToAnsi"/>
 | |
|           <link id="SetWideStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="VarCast">
 | |
|         <short>Cast a variant to a certain type</short>
 | |
|         <descr>
 | |
|           <var>VarCast</var> converts the variant in <var>Source</var> to the type
 | |
| indicated in <var>VarType</var> and returns the result in <var>dest</var>.
 | |
| The <var>VarType</var> must be one of the pre-defined <var>VarNNN</var> constants.
 | |
| </descr>
 | |
|         <errors>If the conversion is not possible because the value cannot be correctly
 | |
| casted, then a run-time error or an exception may occur.
 | |
| </errors>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="varrecord">
 | |
|         <short>Record variant type</short>
 | |
|       </element>
 | |
|       <element name="WideCharLenToString">
 | |
|         <short>Convert a length-limited array of widechar to an ansistring</short>
 | |
|         <descr>
 | |
|           <var>WideCharLenToString</var> converts at most <var>Len</var> widecharacters from 
 | |
| the null-terminated widechar array <var>S</var> to an ansistring, and returns 
 | |
| the ansistring.
 | |
| </descr>
 | |
|         <errors>No validity checking is performed on <var>S</var>. 
 | |
| Passing an invalid pointer may lead to access violations.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToWideChar"/>
 | |
|           <link id="WideCharToString"/>
 | |
|           <link id="WideCharToStrVar"/>
 | |
|           <link id="WideCharLenToStrVar"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="WideCharLenToStrVar">
 | |
|         <short>Convert a length-limited array of widechar to an ansistring</short>
 | |
|         <descr>
 | |
|           <var>WideCharLenToString</var> converts at most <var>Len</var> widecharacters from 
 | |
| the null-terminated widechar array <var>Src</var> to an ansistring, and returns 
 | |
| the ansistring in <var>Dest</var>.
 | |
| </descr>
 | |
|         <errors>No validity checking is performed on <var>Src</var>. 
 | |
| Passing an invalid pointer may lead to access violations.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToWideChar"/>
 | |
|           <link id="WideCharToString"/>
 | |
|           <link id="WideCharToStrVar"/>
 | |
|           <link id="WideCharLenToString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="WideCharToString">
 | |
|         <short>Convert a null-terminated array of widechar to an ansistring</short>
 | |
|         <descr>
 | |
|           <var>WideCharToString</var> converts the null-terminated widechar 
 | |
| array <var>S</var> to an ansistring, and returns the ansistring.
 | |
| </descr>
 | |
|         <errors>No validity checking is performed on <var>Src</var>. 
 | |
| Passing an invalid pointer, or an improperly terminated array may 
 | |
| lead to access violations.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToWideChar"/>
 | |
|           <link id="WideCharToStrVar"/>
 | |
|           <link id="WideCharLenToStrVar"/>
 | |
|           <link id="WideCharLenToString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="WideCharToStrVar">
 | |
|         <short>Convert a null-terminated array of widechar to an ansistring</short>
 | |
|         <descr>
 | |
|           <var>WideCharToString</var> converts the null-terminated widechar 
 | |
| array <var>S</var> to an ansistring, and returns the ansistring in <var>Dest</var>.
 | |
| </descr>
 | |
|         <errors>No validity checking is performed on <var>S</var>. 
 | |
| Passing an invalid pointer, or an improperly terminated array may 
 | |
| lead to access violations.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToWideChar"/>
 | |
|           <link id="WideCharToString"/>
 | |
|           <link id="WideCharToStrVar"/>
 | |
|           <link id="WideCharLenToString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="widestringmanager">
 | |
|         <short>Current widestring manager.</short>
 | |
|         <descr>Contains the current widestring manager. Do not use directly.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="GetWideStringManager"/>
 | |
|           <link id="SetWideStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="WideStringToUCS4String">
 | |
|         <short>Convert a widestring to a UCS-4 encoded string.</short>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator and(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(ansistring): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(ansistring): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Boolean): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Boolean): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Byte): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Byte): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Char): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Char): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(currency): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(currency): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator div(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(double): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(double): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(DWord): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(DWord): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Int64): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Int64): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(longbool): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(longbool): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(LongInt): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(LongInt): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator mod(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator not(variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): ansistring">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): Boolean">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): Byte">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): Char">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): currency">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): double">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): DWord">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): Int64">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): longbool">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): LongInt">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): qword">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): ShortInt">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): shortstring">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): SmallInt">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): TDateTime">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): TError">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): widechar">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): widestring">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): Word">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(olevariant): wordbool">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator or(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(qword): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(qword): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(real48): double">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator shl(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(ShortInt): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(ShortInt): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(shortstring): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(shortstring): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator shr(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(SmallInt): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(SmallInt): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(TDateTime): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(TDateTime): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(TError): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(TError): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): ansistring">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): Boolean">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): Byte">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): Char">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): currency">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): double">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): DWord">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): Int64">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): longbool">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): LongInt">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): qword">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): ShortInt">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): shortstring">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): SmallInt">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): TDateTime">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): TError">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator -(variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator <=(variant, variant): Boolean">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator <(variant, variant): Boolean">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator =(variant, variant): Boolean">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator >=(variant, variant): Boolean">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator >(variant, variant): Boolean">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator -(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator /(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator *(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator **(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator +(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): widechar">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): widestring">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): Word">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(variant): wordbool">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(widechar): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(widechar): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(widestring): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(widestring): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(wordbool): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(wordbool): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Word): olevariant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator :=(Word): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <element name="operator xor(variant, variant): variant">
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SwapEndian">
 | |
|         <short>Swap endianness of the argument</short>
 | |
|         <descr>
 | |
|           <var>SwapEndian</var> will swap the endianness of the bytes in its argument.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="hi"/>
 | |
|           <link id="lo"/>
 | |
|           <link id="swap"/>
 | |
|           <link id="BEToN"/>
 | |
|           <link id="NToBE"/>
 | |
|           <link id="NToLE"/>
 | |
|           <link id="LEToN"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="InterLockedIncrement">
 | |
|         <short>Thread-safe increment</short>
 | |
|         <descr>
 | |
|           <var>InterLockedIncrement</var> increments <var>Target</var> with 1 and returns the result.
 | |
| This is done in a thread-safe way (i.e. only one processor is accessing the variable at a time).
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="InterLockedDecrement"/>
 | |
|           <link id="InterLockedExchange"/>
 | |
|           <link id="InterLockedExchangeAdd"/>
 | |
|           <link id="InterlockedCompareExchange"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="InterLockedDecrement">
 | |
|         <short>Thread-safe decrement</short>
 | |
|         <descr>
 | |
|           <var>InterLockedDecrement</var> decrements <var>Target</var> with 1 and returns the result.
 | |
| This is done in a thread-safe way. (i.e. only one processor is accessing the variable at a time).
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="InterLockedIncrement"/>
 | |
|           <link id="InterLockedExchange"/>
 | |
|           <link id="InterLockedExchangeAdd"/>
 | |
|           <link id="InterlockedCompareExchange"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="InterLockedExchange">
 | |
|         <short>Exchange 2 integers in a thread-safe way</short>
 | |
|         <descr>
 | |
|           <var>InterLockedExchange</var> stores <var>Source</var> in <var>Target</var> and returns the old value of <var>Target</var>. 
 | |
| This is done in a thread-safe way, i.e., only one processor is accessing the <var>Target</var> variable at a time.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="InterLockedDecrement"/>
 | |
|           <link id="InterLockedIncrement"/>
 | |
|           <link id="InterLockedExchangeAdd"/>
 | |
|           <link id="InterlockedCompareExchange"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="InterLockedExchangeAdd">
 | |
|         <short>Thread-safe add and exchange of 2 values</short>
 | |
|         <descr>
 | |
|           <var>InterlockedDecrement</var> adds to <var>Target</var> the value of <var>Source</var> in a thread-safe way, 
 | |
| and returns the old value of <var>Target</var>.This is done in a thread-safe way, i.e., only one 
 | |
| processor is accessing the <var>Target</var> variable at a time.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="InterLockedDecrement"/>
 | |
|           <link id="InterLockedIncrement"/>
 | |
|           <link id="InterLockedExchange"/>
 | |
|           <link id="InterlockedCompareExchange"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="InterlockedCompareExchange">
 | |
|         <short>Conditional exchange</short>
 | |
|         <descr>
 | |
|           <var>InterlockedCompareExchange</var> does an  compare-and-exchange operation on the specified values in a thread-safe way. 
 | |
| The function compares <var>Target</var> and <var>Comparand</var> and exchanges <var>Target</var> with <var>NewValue</var>
 | |
| if <var>Target</var> and <var>Comparand</var> are equal. It returns the old value of <var>Target</var>. 
 | |
| This is done in a thread-safe way, i.e., only one processor is accessing the <var>Target</var> variable at a time.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="InterLockedDecrement"/>
 | |
|           <link id="InterLockedIncrement"/>
 | |
|           <link id="InterLockedExchange"/>
 | |
|           <link id="InterLockedExchangeAdd"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.Data1">
 | |
|         <short>First 4 bytes of GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.Data2">
 | |
|         <short>Bytes 5 and 6 of  GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.Data3">
 | |
|         <short>Bytes 7 and 8 of GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.Data4">
 | |
|         <short>Bytes 9-17 of GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.D1">
 | |
|         <short>First 4 bytes of GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.D2">
 | |
|         <short>Bytes 5 and 6 of  GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.D3">
 | |
|         <short>Bytes 7 and 8 of GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.D4">
 | |
|         <short>Bytes 9-17 of GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VInteger">
 | |
|         <short>Integer value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VBoolean">
 | |
|         <short>Boolean value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VChar">
 | |
|         <short>Character value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VWideChar">
 | |
|         <short>Widechar value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VExtended">
 | |
|         <short>Extended value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VString">
 | |
|         <short>String value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VPointer">
 | |
|         <short>Pointer value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VPChar">
 | |
|         <short>PChar value (null-terminated string)</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VObject">
 | |
|         <short>Object value (instance pointer)</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VClass">
 | |
|         <short>Class pointer value (VMT pointer)</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VPWideChar">
 | |
|         <short>Widechar value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VAnsiString">
 | |
|         <short>Ansistring value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VCurrency">
 | |
|         <short>Currency value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VVariant">
 | |
|         <short>Variant value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VInterface">
 | |
|         <short>Interface value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VWideString">
 | |
|         <short>Widestring value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VInt64">
 | |
|         <short>Int64 value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVarRec.VQWord">
 | |
|         <short>QWord value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.res1">
 | |
|         <short>Reserved byte</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.res2">
 | |
|         <short>Reserved byte</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.res3">
 | |
|         <short>Reserved byte</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vsmallint">
 | |
|         <short>Smallint value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vinteger">
 | |
|         <short>Integer value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vsingle">
 | |
|         <short>Single value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vdouble">
 | |
|         <short>Double value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vcurrency">
 | |
|         <short>Currency value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vdate">
 | |
|         <short>TDateTime value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.volestr">
 | |
|         <short>OLE string value (specially allocated widestring)</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vdispatch">
 | |
|         <short>Dispatch interface value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.verror">
 | |
|         <short>Error value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vboolean">
 | |
|         <short>Boolean value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vunknown">
 | |
|         <short>IUnknown interface value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vshortint">
 | |
|         <short>Shortint value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vbyte">
 | |
|         <short>Byte value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vword">
 | |
|         <short>Word value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vlongword">
 | |
|         <short>Longword value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vint64">
 | |
|         <short>Int64 value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vqword">
 | |
|         <short>QWord value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vword64">
 | |
|         <short>QWord value (?)</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vstring">
 | |
|         <short>Ansistring value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vany">
 | |
|         <short>Any valyue</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.varray">
 | |
|         <short>Variant array value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vpointer">
 | |
|         <short>Pointer value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vlongs">
 | |
|         <short>Value as an array of longints</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vwords">
 | |
|         <short>Value as an array of words</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tvardata.vbytes">
 | |
|         <short>Value as an array of bytes</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.TotalAddrSpace">
 | |
|         <short>Total amount of available addressable memory</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.TotalUncommitted">
 | |
|         <short>Total amount of uncommitted memory</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.TotalCommitted">
 | |
|         <short>Total amount of committed memory</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.TotalAllocated">
 | |
|         <short>Total amount of allocated memory</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.TotalFree">
 | |
|         <short>Total amount of free memory</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.FreeSmall">
 | |
|         <short>Total amount of free small memory blocks</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.FreeBig">
 | |
|         <short>Total amount of free large memory blocks</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.Unused">
 | |
|         <short>Total amount of free process memory</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.Overhead">
 | |
|         <short>Total bytes of overhead by memory manager </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="THeapStatus.HeapErrorCode">
 | |
|         <short>Last error code</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.GetFPCHeapStatus">
 | |
|         <short>Handler to get FPC heap status information.</short>
 | |
|       </element>
 | |
|       <!-- "type" alias type Visibility: default -->
 | |
|       <element name="Real">
 | |
|         <short>Alias for real type</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TRTLCriticalSection.__m_reserved">
 | |
|         <short>Do not use.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TRTLCriticalSection.__m_count">
 | |
|         <short>Do not use.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TRTLCriticalSection.__m_owner">
 | |
|         <short>Do not use.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TRTLCriticalSection.__m_kind">
 | |
|         <short>Do not use</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TRTLCriticalSection.__m_lock">
 | |
|         <short>Do not use</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_pack_x_y_z">
 | |
|         <short>FPC compiler internal procedure index: pack</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_unpack_x_y_z">
 | |
|         <short>FPC compiler internal procedure index: unpack</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_bitsizeof_x">
 | |
|         <short>FPC compiler internal procedure index: bitsizeof</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_flag_invalid">
 | |
|         <short>IEC/IEEE floating-point exception flag: Invalid operation error</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_flag_denormal">
 | |
|         <short>IEC/IEEE floating-point exception flag: ?</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_flag_divbyzero">
 | |
|         <short>IEC/IEEE floating-point exception flag: Division by zero error</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_flag_overflow">
 | |
|         <short>IEC/IEEE floating-point exception flag: Overflow error</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_flag_underflow">
 | |
|         <short>IEC/IEEE floating-point exception flag: Underflow error</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_flag_inexact">
 | |
|         <short>IEC/IEEE floating-point exception flag: ?</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="softfloat_exception_mask">
 | |
|         <short>Current soft float exception mask</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="softfloat_exception_flags">
 | |
|         <short>Current soft float exception flags</short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="float_raise">
 | |
|         <short>Raise floating point exception</short>
 | |
|         <descr>
 | |
|           <var>float_raise</var> raises the floating point exceptions specified by 
 | |
| <link id="softfloat_exception_flags"/>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="softfloat_exception_flags"/>
 | |
|           <link id="softfloat_exception_mask"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="operator :=">
 | |
|         <short>Overload for variants</short>
 | |
|         <descr>The assignment operator is overloaded for various types. This should be
 | |
| transparent to the user.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.time_low">
 | |
|         <short>low part of GUID timestamp</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.time_mid">
 | |
|         <short>Middle part of GUID timestamp</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.time_hi_and_version">
 | |
|         <short>High part of GUID timestamp and version</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.clock_seq_hi_and_reserved">
 | |
|         <short>High part of clock sequence of GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.clock_seq_low">
 | |
|         <short>Low part of clock sequence of GUID</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TGuid.node">
 | |
|         <short>Node part of GUID</short>
 | |
|       </element>
 | |
|       <!-- enumeration type Visibility: default -->
 | |
|       <element name="tinterfaceentrytype">
 | |
|         <short>Dispatch interface entry type</short>
 | |
|         <descr>This is an internal type for the compiler to encode calls to 
 | |
| dispatch interfaces.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tinterfaceentrytype.etStandard">
 | |
|         <short>Standard entry</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tinterfaceentrytype.etVirtualMethodResult">
 | |
|         <short>Virtual method</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tinterfaceentrytype.etStaticMethodResult">
 | |
|         <short>Statis method</short>
 | |
|       </element>
 | |
|       <!-- enumeration value Visibility: default -->
 | |
|       <element name="tinterfaceentrytype.etFieldValue">
 | |
|         <short>Field value</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tinterfaceentry.IType">
 | |
|         <short>Interface entry interface type</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="tinterfaceentry.__pad_dummy">
 | |
|         <short>Padding bytes</short>
 | |
|       </element>
 | |
|       <!--
 | |
|   ********************************************************************
 | |
|     #rtl.System.TAggregatedObject
 | |
|   ********************************************************************
 | |
| -->
 | |
|       <!-- object Visibility: default -->
 | |
|       <element name="TAggregatedObject">
 | |
|         <short>Aggregated object</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>TAggregatedObject</var> implements an object whose lifetime is
 | |
| governed by an external object (or interface). It does not implement the
 | |
| <var>IUnknown</var> interface by itself, but delegates all methods to the controller
 | |
| object, as exposed in the <link id="TAggregatedObject.Controller">Controller</link> 
 | |
| property. In effect, the reference count of the aggregated object is the
 | |
| same as that of it's controller, and additionally, all interfaces of the
 | |
| controller are exposed by the aggregated object.
 | |
| </p>
 | |
|           <p>Note that the aggregated object maintains a non-counted reference to
 | |
| the controller.
 | |
| </p>
 | |
|           <p>Aggregated objects should be used when using delegation to implement
 | |
| reference counted objects: the delegated interfaces can be implemented
 | |
| safely by <var>TAggregatedObject</var> descendents.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="TAggregatedObject.Create">Create</link>
 | |
|           <link id="TAggregatedObject.Controller">Controller</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constructor Visibility: public -->
 | |
|       <element name="TAggregatedObject.Create">
 | |
|         <short>Create a new instance of <var>TAggregatedObject</var>
 | |
|         </short>
 | |
|         <descr>
 | |
|           <var>Create</var> creates a new instance of <var>TAggregatedObject</var> on
 | |
| the heap, and stores a reference to <var>aController</var>, so it can be
 | |
| exposed in the <link id="TAggregatedObject.Controller">Controller</link>
 | |
| property.
 | |
| </descr>
 | |
|         <errors>If not enough memory is present on the heap, an exception will be raised.
 | |
| If the <var>aController</var> is <var>Nil</var>, exceptions will occur when
 | |
| any of the <var>TAggregatedObject</var> methods (actually, the <var>IUnknown</var>
 | |
| methods) 
 | |
| are used.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TAggregatedObject.Controller">Controller</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- property Visibility: public -->
 | |
|       <element name="TAggregatedObject.Controller">
 | |
|         <short>Controlling instance</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Controller</var> exposes the controlling object, with all interfaces it
 | |
| has.
 | |
| </p>
 | |
|           <p>The value of the controller is set when the <var>TAggregatedObject</var>
 | |
| instance is created.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="TAggregatedObject.Create"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TSempahoreInitHandler">
 | |
|         <short>Function prototype for initializing a semaphore</short>
 | |
|         <descr>
 | |
|           <var>TSempahoreInitHandler</var> is the function prototype for initializing
 | |
| a semaphore. It is used by the thread manager (<var>ThreadManager.SemaphoreInit</var>) 
 | |
| to create semaphores. The function should return a pointer, usable by the other 
 | |
| semaphore functions of the thread manager.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TSemaphoreDestroyHandler">
 | |
|         <short>Function prototype for destroying a semaphore</short>
 | |
|         <descr>
 | |
|           <var>TSemaphoreDestroyHandler</var> is the function prototype to 
 | |
| destroy an existing semaphore, as returned by 
 | |
| (<var>ThreadManager.SemaphoreInit</var>). It is used by the 
 | |
| thread manager (<var>ThreadManager.SemaphoreDestroy</var>)
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TSemaphorePostHandler">
 | |
|         <short>Function prototype for posting an event to a semaphore</short>
 | |
|         <descr>
 | |
|           <var>TSemaphorePostHandler</var> is the function prototype to post an event
 | |
| to the semaphore. It should handle a pointer as returned by the
 | |
| <var>ThreadManager.SemaphoreInit</var> procedure. it's used by the thread
 | |
| manager <var>ThreadManager.SemaphorePost</var>.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- procedure type Visibility: default -->
 | |
|       <element name="TSemaphoreWaitHandler">
 | |
|         <short>Function prototype to wait on a semaphore</short>
 | |
|         <descr>
 | |
|           <var>TSemaphoreWaitHandler</var> is the function prototype to wait on an 
 | |
| event on the semaphore (which should be posted to the semaphore with
 | |
| <var>ThreadManager.SemaphorePost</var>). It should handle a pointer as eturned by the
 | |
| <var>ThreadManager.SemaphoreInit</var> procedure. it's used by the thread
 | |
| manager <var>ThreadManager.SemaphoreWait</var>.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.SemaphoreInit">
 | |
|         <short>Initialize (create) a new semaphore</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.SemaphoreDestroy">
 | |
|         <short>Destroy (free) a semaphore created using <var>SemaphoreInit</var>.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.SemaphorePost">
 | |
|         <short>Post an event on a semaphore created using <var>SemaphoreInit</var>.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TThreadManager.SemaphoreWait">
 | |
|         <short>Wait on a semaphore event posted by <var>SemaphorePost</var>.</short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="FlushThread">
 | |
|         <short>Flush all standard files</short>
 | |
|         <descr>
 | |
|           <var>FlushThread</var> flushes any buffers from standard file descriptors
 | |
| such as standard input/output/error. It should normally not be called by 
 | |
| user code, but is executed when a thread exits.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="EndThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="UInt64">
 | |
|         <short>Unsigned 64-bit integer</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PPtrUInt">
 | |
|         <short>Pointer to unsigned integer of pointer size</short>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PDateTime">
 | |
|         <short>Pointer to <var>TDatetime</var>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TEntryInformation">
 | |
|         <short>Executable entry point information structure</short>
 | |
|         <descr>
 | |
|           <var>TEntryInformation</var> is used to initialize a Free Pascal program or 
 | |
| library. Under normal circumstances, there should be no need to use this
 | |
| structure directly: it is used by the system unit and special linking units.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TEntryInformation.InitFinalTable">
 | |
|         <short>List of units to initialize/finalize</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TEntryInformation.ThreadvarTablesTable">
 | |
|         <short>List of threadvar locations</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TEntryInformation.asm_exit">
 | |
|         <short>Exit procedure</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TEntryInformation.PascalMain">
 | |
|         <short>Main pascal code routine</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TEntryInformation.valgrind_used">
 | |
|         <short>Determine if valgrind is used or not</short>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="TCtrlBreakHandler">
 | |
|         <short>CTRL-C Handler prototype </short>
 | |
|         <descr>
 | |
|           <var>TCtrlBreakHandler</var> is the prototype for the CTRL-C handler.
 | |
| If <var>CtrlBreak</var> is <var>True</var> then Ctrl-Break was hit,
 | |
| otherwise <var>CTRL-C</var> was hit. The handlers should return
 | |
| <var>True</var> to signal that the key-combination was handled. If
 | |
| <var>False</var> is returned, then default handling will be used,
 | |
| which by default means an exception will be raised if the sysutils unit is
 | |
| used.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="ModuleIsLib">
 | |
|         <short>Determines whether the current module is a library</short>
 | |
|         <descr>
 | |
|           <var>ModuleIsLib</var> is set by the compiler when linking a library,
 | |
| program or package, and determines whether the current module is a
 | |
| library (or package) (<var>True</var>) or program (<var>False</var>).
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="ModuleIsPackage">
 | |
|         <short>Determines whether the current module is a package</short>
 | |
|         <descr>
 | |
|           <var>ModuleIsLib</var> is set by the compiler when linking a library,
 | |
| program or package, and determines whether the current module is a
 | |
| package (<var>True</var>) or a library or program (<var>False</var>).
 | |
| </descr>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="ModuleIsCpp">
 | |
|         <short>program compiled by CPP ?</short>
 | |
|         <descr>
 | |
|           <var>ModuleIsCpp</var> is always false for FPC programs, it is provided
 | |
| for Delphi compatibility only.
 | |
| </descr>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_writestr_x">
 | |
|         <short>Internal write string procedure</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_readstr_x">
 | |
|         <short>Internal read string procedure</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="fpc_in_abs_long">
 | |
|         <short>Internal ABS function</short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="ReadBarrier">
 | |
|         <short>Memory Read Barrier</short>
 | |
|         <descr>
 | |
|           <var>ReadBarrier</var> is a low-level instruction to force a read barrier
 | |
| in the CPU: all memory reads before the instruction will be finished before
 | |
| this instruction, before memory reads after the instruction occur.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="ReadDependencyBarrier"/>
 | |
|           <link id="ReadWriteBarrier"/>
 | |
|           <link id="WriteBarrier"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="ReadDependencyBarrier">
 | |
|         <short>Memory Read Dependency Barrier</short>
 | |
|         <descr>
 | |
|           <var>ReadDependencyBarrier</var> is a low-level instruction to force a read
 | |
| barrier in the CPU: all memory reads (loads) depending on previous loads are 
 | |
| separate from the ones following the instruction.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="ReadBarrier"/>
 | |
|           <link id="ReadWriteBarrier"/>
 | |
|           <link id="WriteBarrier"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="ReadWriteBarrier">
 | |
|         <short>Memory read/write barrier</short>
 | |
|         <descr>
 | |
|           <var>ReadWriteBarrier</var> is a low-level instruction to force a read/write
 | |
| barrier in the CPU: both read (Loads) and write (stores) operations before 
 | |
| and after the barrier are separate.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="ReadBarrier"/>
 | |
|           <link id="ReadDependencyBarrier"/>
 | |
|           <link id="WriteBarrier"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="WriteBarrier">
 | |
|         <short>Memory write barrier</short>
 | |
|         <descr>
 | |
|           <var>WriteBarrier</var> is a low-level instruction to force a write
 | |
| barrier in the CPU: write (store) operations before and after the 
 | |
| barrier are separate.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="ReadBarrier"/>
 | |
|           <link id="ReadDependencyBarrier"/>
 | |
|           <link id="ReadWriteBarrier"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="ShortCompareText">
 | |
|         <short>Compare 2 shortstrings</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>ShortCompareText</var> compares two shortstrings, <var>S1</var> and <var>S2</var>,
 | |
| and returns the following
 | |
| result:
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt><0</dt>
 | |
|             <dd>if <var>S1<S2</var>.</dd>
 | |
|             <dt>0</dt>
 | |
|             <dd>if <var>S1=S2</var>.</dd>
 | |
|             <dt>>0</dt>
 | |
|             <dd>if <var>S1>S2</var>.</dd>
 | |
|           </dl>
 | |
|           <p>The comparision of the two strings is case-insensitive.
 | |
| The function does not take internationalization settings into account, it
 | |
| simply compares ASCII values.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="#rtl.sysutils.CompareText">CompareText</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TWideStringManager.ThreadInitProc">
 | |
|         <short>Called when a new thread is started.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TWideStringManager.ThreadFiniProc">
 | |
|         <short>Called when a thread has finished.</short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="DumpExceptionBackTrace">
 | |
|         <short>Create backtrace</short>
 | |
|         <descr>
 | |
|           <var>DumpExceptionBackTrace</var> writes a backtrace of the current
 | |
| exception to the file <var>f</var>. If no exception is currently being
 | |
| raised, nothing is written. As much frames as available are written.
 | |
| If debug info is available, then file names and line numbers will be written
 | |
| as well.
 | |
| </descr>
 | |
|         <errors>No check is done to see whether <var>f</var> is opened for writing.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="dump_stack"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SysInitFPU">
 | |
|         <short>Initialize the FPU</short>
 | |
|         <descr>
 | |
|           <var>SysInitFPU</var> initializes (resets) the floating point unit, if one is
 | |
| available. It is called for instance when a new thread is started.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="BeginThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="SysSetCtrlBreakHandler">
 | |
|         <short>System CTRL-C handler</short>
 | |
|         <descr>
 | |
|           <var>SysSetCtrlBreakHandler</var> sets the CTRL-C handler to the
 | |
| <var>Handler</var> callback, and returns the previous value of the handler.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TCtrlBreakHandler"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="VarArrayPut">
 | |
|         <short>Put a value in a single cell of a variant array</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>VarArrayPut</var> puts <var>Value</var> in the variant array
 | |
| <var>A</var> at the location indicated by <var>Indices</var>. Thus the
 | |
| statement
 | |
| </p>
 | |
|           <pre>VarArrayPut(A,B,[2,1]);
 | |
| </pre>
 | |
|           <p>is equivalent to 
 | |
| </p>
 | |
|           <pre>A[2,1]:=B;
 | |
| </pre>
 | |
|           <p>The difference is that the previous is usable when the amount of indices
 | |
| is not known at compile time.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If the number of indices is wrong (or out of range) an exception may be
 | |
| raised.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="VarArrayGet"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="VarArrayGet">
 | |
|         <short>Get a value from a single cell of a variant array</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>VarArrayGet</var> returns  the value in the variant array
 | |
| <var>A</var> at the location indicated by <var>Indices</var>. Thus the
 | |
| statement
 | |
| </p>
 | |
|           <pre>B:=VarArrayGet(A,[2,1]);
 | |
| </pre>
 | |
|           <p>is equivalent to 
 | |
| </p>
 | |
|           <pre>B:=A[2,1];
 | |
| </pre>
 | |
|           <p>The difference is that the previous is usable when the amount of indices
 | |
| is not known at compile time.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>If the number of indices is wrong (or out of range) an exception may be
 | |
| raised.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="VarArrayPut"/>
 | |
|         </seealso>
 | |
|         <short/>
 | |
|         <descr/>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.InitThread">
 | |
|         <short>Called when a thread is initialized</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.DoneThread">
 | |
|         <short>Called when a thread ends</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TMemoryManager.RelocateHeap">
 | |
|         <short>Relocate the heap to a different location</short>
 | |
|         <descr/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="DoneThread">
 | |
|         <short>End the current thread</short>
 | |
|         <descr>
 | |
|           <var>DoneThread</var> should be used to end the current thread. It performs
 | |
| the necessary housekeeping before actually ending the thread. Using the
 | |
| operating system calls to end the thread may result in data corruption
 | |
| or memory leaks.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="BeginThread"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="AllFilesMask">
 | |
|         <short>File mask for all files on the current platform</short>
 | |
|         <descr>
 | |
|           <var>AllFilesMask</var> is the wildcard that can be used to return
 | |
| all files in a directory. On windows and dos based systems, this will
 | |
| be '*.*', while for unix systems, this will be '*'.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="LFNSupport"/>
 | |
|           <link id="DirectorySeparator"/>
 | |
|           <link id="DriveSeparator"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- object Visibility: default -->
 | |
|       <element name="TContainedObject">
 | |
|         <short>Base class for contained objects</short>
 | |
|         <descr>
 | |
|           <var>TContainedObject</var> is the base class for contained objects, i.e.
 | |
| objects that do not implement a reference counting mechanism themselves, but
 | |
| are owned by some other object which handles the reference counting
 | |
| mechanism. It implements the <var>IUnknown</var> interface and, more
 | |
| specifically, the <var>QueryInterface</var> method of <var>IUnknown</var>.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="IInterface"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="ExtensionSeparator">
 | |
|         <short>Character which separates the filename from the file extension.</short>
 | |
|         <descr>
 | |
|           <var>ExtensionSeparator</var> is the character which separates the filename
 | |
| from the file extension. On all current platforms, this is the <var>.</var>
 | |
| (dot) character. All RTL filename handling routines use this constant.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="AllowDirectorySeparators"/>
 | |
|           <link id="AllowDriveSeparators"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="AllowDirectorySeparators">
 | |
|         <short>Set of characters considered directory separators</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>AllowDirectorySeparators</var> is the set of characters which are
 | |
| considered directory separators by the RTL units. By default, this is set
 | |
| to the most common directory separators: forward slash and backslash, so 
 | |
| routines will work in a cross-platform manner, no matter which character
 | |
| was used:
 | |
| </p>
 | |
|           <pre>AllowDirectorySeparators : set of char = ['\','/'];
 | |
| </pre>
 | |
|           <p>If a more strict behaviour is desired, then <var>AllowDirectorySeparators</var> 
 | |
| can be set to the only character allowed on the current operating system, and 
 | |
| all RTL routines that handle filenames (splitting filenames, extracting
 | |
| parts of the filename and so on) will use that character only.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="ExtensionSeparator"/>
 | |
|           <link id="AllowDriveSeparators"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="AllowDriveSeparators">
 | |
|         <short>Set of characters considered drive separators</short>
 | |
|         <descr>
 | |
|           <var>AllowDriveSeparators</var> are the characters which are considered
 | |
| to separate the drive part from the directory part in a filename. This
 | |
| will be an empty set on systems that do not support drive letters. Other
 | |
| systems (dos, windows and OS/2) will have the colon (:) character as the
 | |
| only member of this set.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="PathSeparator"/>
 | |
|           <link id="DriveSeparator"/>
 | |
|           <link id="ExtensionSeparator"/>
 | |
|           <link id="AllowDirectorySeparators"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="UnicodeChar">
 | |
|         <short>Unicode string character</short>
 | |
|         <descr>
 | |
|           <var>UnicodeChar</var> is a single character from a UnicodeString. It equals
 | |
| <var>WideChar</var> in all respects.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="WideChar"/>
 | |
|           <link id="UnicodeString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PUnicodeChar">
 | |
|         <short>Pointer to unicode character</short>
 | |
|         <descr>
 | |
|           <var>PUnicodeChar</var> is a pointer to a unicode character, just like
 | |
| <var>PChar</var> is a pointer to a <var>Char</var> ansistring character.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="UnicodeChar"/>
 | |
|           <link id="WideChar"/>
 | |
|           <link id="UnicodeString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PUnicodeString">
 | |
|         <short>Pointer to unicodestring</short>
 | |
|         <descr>
 | |
|           <var>PUnicodeString</var> is a pointer to a <var>UnicodeString</var> string.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="UnicodeChar"/>
 | |
|           <link id="PUnicodeChar"/>
 | |
|           <link id="WideChar"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="__status" skip="1"/>
 | |
|       <element name="__spinlock" skip="1"/>
 | |
|       <element name="fpc_in_ror_x" skip="1"/>
 | |
|       <element name="fpc_in_ror_x_x" skip="1"/>
 | |
|       <element name="fpc_in_rol_x" skip="1"/>
 | |
|       <element name="fpc_in_rol_x_x" skip="1"/>
 | |
|       <element name="fpc_objc_selector_x" skip="1"/>
 | |
|       <element name="FillQWord">
 | |
|         <short>Fill memory range with QWord (64-bit) values</short>
 | |
|         <descr>
 | |
|           <var>FillQWord</var> fills the memory location of <var>x</var> with <var>Count</var>
 | |
| times <var>value</var>. The size of the filled memory location is therefor
 | |
| <var>8*count</var> bytes.
 | |
| </descr>
 | |
|         <errors>No checks are made to see if X actually has a minimum size of <var>(Count*8)</var>
 | |
| bytes. Therefor, other variables can be overwritten or the memory may be out
 | |
| of the accessible memory for the program. In the latter case a run-error or
 | |
| exception may be triggered.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="FillChar"/>
 | |
|           <link id="FillWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="IndexQWord">
 | |
|         <short>Return the position of a QWord in a memory range</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>IndexQWord</var> checks the first <var>len</var> qwords starting at
 | |
| <var>Buf</var>, and returns the position (zero-based) of <var>b</var>. If
 | |
| <var>b</var> does not appear in the first <var>len</var> qwords, then
 | |
| -1 is returned.
 | |
| </p>
 | |
|           <p>Note that the search is done on QWord boundaries, but that the address of
 | |
| <var>buf</var> need not be on a QWord boundary.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>No check is done to see whether the indicated memory range is valid. If it
 | |
| is not, a run-error or exception may be triggered.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="IndexDWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RorByte">
 | |
|         <short>Rotate bits of a byte value to the right</short>
 | |
|         <descr>
 | |
|           <var>RorByte</var> rotates the bits of the byte <var>AValue</var> with <var>Dist</var>
 | |
| positions to the right. If <var>Dist</var> is not specified, then 1 is assumed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="RolByte"/>
 | |
|           <link id="RorWord"/>
 | |
|           <link id="RorDWord"/>
 | |
|           <link id="RorQWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RolByte">
 | |
|         <short>Rotate bits of a byte value to the left</short>
 | |
|         <descr>
 | |
|           <var>RolByte</var> rotates the bits of the byte <var>AValue</var> with
 | |
| <var>Dist</var> positions to the left. If <var>Dist</var> is not specified, 
 | |
| then 1 is assumed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="RorByte"/>
 | |
|           <link id="RolWord"/>
 | |
|           <link id="RolDWord"/>
 | |
|           <link id="RolQWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RorWord">
 | |
|         <short>Rotate bits of a word value to the right</short>
 | |
|         <descr>
 | |
|           <var>RorWord</var> rotates the bits of the word <var>AValue</var> with
 | |
| <var>Dist</var> positions to the right. If <var>Dist</var> is not specified, then 1 is
 | |
| assumed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="RorByte"/>
 | |
|           <link id="RolWord"/>
 | |
|           <link id="RorDWord"/>
 | |
|           <link id="RorQWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RolWord">
 | |
|         <short>Rotate bits of a word value to the left</short>
 | |
|         <descr>
 | |
|           <var>RolWord</var> rotates the bits of the word <var>AValue</var> with
 | |
| <var>Dist</var> positions to the right. If <var>Dist</var> is not specified,
 | |
| then 1 is assumed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="RolByte"/>
 | |
|           <link id="RorWord"/>
 | |
|           <link id="RolDWord"/>
 | |
|           <link id="RolQWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RorDWord">
 | |
|         <short>Rotate bits of a DWord (cardinal) value to the right</short>
 | |
|         <descr>
 | |
|           <var>RorDWord</var> rotates the bits of the DWord (cardinal) <var>AValue</var> 
 | |
| with <var>Dist</var> positions to the right. If <var>Dist</var> is not specified,
 | |
| then 1 is
 | |
| assumed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="RorByte"/>
 | |
|           <link id="RolDWord"/>
 | |
|           <link id="RorWord"/>
 | |
|           <link id="RorQWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RolDWord">
 | |
|         <short>Rotate bits of a DWord (cardinal) value to the left</short>
 | |
|         <descr>
 | |
|           <var>RolDWord</var> rotates the bits of the DWord (cardinal) <var>AValue</var> with
 | |
| <var>Dist</var> positions to the left. If <var>Dist</var> is not specified,
 | |
| then 1 is assumed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="RolByte"/>
 | |
|           <link id="RolWord"/>
 | |
|           <link id="RorDWord"/>
 | |
|           <link id="RolQWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RorQWord">
 | |
|         <short>Rotate bits of a QWord (64-bit) value to the right</short>
 | |
|         <descr>
 | |
|           <var>RorQWord</var> rotates the bits of the QWord (64-bit) <var>AValue</var> 
 | |
| with <var>Dist</var> positions to the right. If <var>Dist</var> is not specified, 
 | |
| then 1 is assumed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="RorByte"/>
 | |
|           <link id="RorWord"/>
 | |
|           <link id="RorDWord"/>
 | |
|           <link id="RolQWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="RolQWord">
 | |
|         <short>Rotate bits of a QWord (64-bit) value to the left</short>
 | |
|         <descr>
 | |
|           <var>RorQWord</var> rotates the bits of the QWord (64-bit) <var>AValue</var>
 | |
| with <var>Dist</var> positions to the left. If <var>Dist</var> is not
 | |
| specified, then 1 is assumed.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="RolByte"/>
 | |
|           <link id="RolWord"/>
 | |
|           <link id="RolDWord"/>
 | |
|           <link id="RorQWord"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_round_nearest_even">
 | |
|         <short>Round to nearest even number</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_round_down">
 | |
|         <short>Round down</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_round_up">
 | |
|         <short>Round up</short>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="float_round_to_zero">
 | |
|         <short>Round in the direction of zero (down for positive, up for negative)</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="softfloat_rounding_mode">
 | |
|         <short>Rounding mode for softfloat</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>softfloat_rounding_mode</var> determines how the software floating-point
 | |
| emulation routines do the rounding. The value can be one of the following:
 | |
| </p>
 | |
|           <dl>
 | |
|             <dt>float_round_nearest_even</dt>
 | |
|             <dd>
 | |
|               <printshort id="float_round_nearest_even"/>
 | |
|             </dd>
 | |
|             <dt>float_round_down</dt>
 | |
|             <dd>
 | |
|               <printshort id="float_round_down"/>
 | |
|             </dd>
 | |
|             <dt>float_round_up</dt>
 | |
|             <dd>
 | |
|               <printshort id="float_round_up"/>
 | |
|             </dd>
 | |
|             <dt>float_round_to_zero</dt>
 | |
|             <dd>
 | |
|               <printshort id="float_round_to_zero"/>
 | |
|             </dd>
 | |
|           </dl>
 | |
|         </descr>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="UnicodeCharToString">
 | |
|         <short>Convert unicode character to string</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UnicodeCharToString</var> converts a null-word-terminated array of unicode characters 
 | |
| in <var>S</var> to an AnsiString value. It simply calls <link id="UnicodeCharLenToString"/>
 | |
| with the length of the string <var>S</var>.
 | |
| </p>
 | |
|           <p>This function requires the use of a widestring manager.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>No checking is done to see if the pointer <var>S</var> is valid.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToUnicodeChar"/>
 | |
|           <link id="UnicodeCharLenToString"/>
 | |
|           <link id="WidestringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="StringToUnicodeChar">
 | |
|         <short>Convert an ansistring to a null-terminated array of unicode characters.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>StringToUnicodeChar</var> converts the ansistring <var>S</var> to a
 | |
| unicodestring and places the result in <var>Dest</var>. The size of the
 | |
| memory location pointed to by <var>Dest</var> must be given in
 | |
| <var>DestSize</var>. If the result string is longer than the available size,
 | |
| the result string will be truncated.
 | |
| </p>
 | |
|           <p>The function always returns <var>Dest</var>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>No check is performed to see whether <var>Dest</var> points to a valid
 | |
| memory location.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="UnicodeCharToString"/>
 | |
|           <link id="UnicodeCharLenToString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="UnicodeCharLenToString">
 | |
|         <short>Convert a memory buffer with unicode characters to an ansistring</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UnicodeCharLenToString</var> converts the unicode characters in buffer
 | |
| <var>S</var> with at most <var>len</var> bytes length, to an ansistring and
 | |
| returns the result.
 | |
| </p>
 | |
|           <p>This function requires the use of a widestring manager.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>No checking is done to see if the pointer <var>S</var> or length <var>len</var> are valid.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToUnicodeChar"/>
 | |
|           <link id="UnicodeCharToString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="UnicodeCharLenToStrVar">
 | |
|         <short>Convert a memory buffer with unicode characters to an ansistring</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UnicodeCharLenToString</var> converts the unicode characters in buffer
 | |
| <var>S</var> with at most <var>len</var> bytes length, to an ansistring and
 | |
| returns the result in <var>Dest</var>
 | |
|           </p>
 | |
|           <p>This function does the same as <link id="UnicodeCharLenToString"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>No checking is done to see if the pointer <var>S</var> or length
 | |
| <var>len</var> are valid.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToUnicodeChar"/>
 | |
|           <link id="UnicodeCharToString"/>
 | |
|           <link id="UnicodeCharLenToString"/>
 | |
|           <link id="UnicodeCharToStrVar"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="UnicodeCharToStrVar">
 | |
|         <short>Convert a null-terminated memory buffer with unicode characters to an ansistring</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UnicodeCharLenToString</var> converts the unicode characters in buffer
 | |
| <var>S</var> up to the first null word, to an ansistring and
 | |
| returns the result in <var>Dest</var>
 | |
|           </p>
 | |
|           <p>This function does the same as <link id="UnicodeCharToString"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>No checking is done to see if the pointer <var>S</var> is valid.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="StringToUnicodeChar"/>
 | |
|           <link id="UnicodeCharToString"/>
 | |
|           <link id="UnicodeCharLenToString"/>
 | |
|           <link id="UnicodeCharToString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="DefaultUnicode2AnsiMove">
 | |
|         <short>Standard widestring manager callback</short>
 | |
|         <descr>
 | |
|           <var>DefaultUnicode2AnsiMove</var> is the standard callback used for the
 | |
| widestring manager when a unicode string must be converted to an ansistring.
 | |
| It replaces all words with value < 256 with their value as ASCII code.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="WidestringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="DefaultAnsi2UnicodeMove">
 | |
|         <short>Standard widestring manager callback</short>
 | |
|         <descr>
 | |
|           <var>DefaultAnsi2UnicodeMove</var> is the standard callback used for the
 | |
| widestring manager when an ansistring must be converted to a unicodestring.
 | |
| It simply copies over all characters from the ansistring to the
 | |
| unicodestring, no conversion whatsoever is performed.
 | |
| </descr>
 | |
|         <errors/>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TUnicodeStringManager">
 | |
|         <short>Unicode string manager</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>TUnicodeStringManager</var> is currently the same as the <link id="TUnicodeStringManager"/> manager record. It performs the same functions:
 | |
| converting unicode strings to ansistrings and vice-versa,
 | |
| performing uppercase to lowercase transformations and comparing strings.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="TWideStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.Wide2AnsiMoveProc">
 | |
|         <short>Callback used when a unicode/wide string must be converted to an ansistring</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.Ansi2WideMoveProc">
 | |
|         <short>Callback used when an ansistring must be converted to a unicodestring/widestring.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.UpperWideStringProc">
 | |
|         <short>Callback used when a unicode/wide string must be uppercased.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.LowerWideStringProc">
 | |
|         <short>Callback used when a unicode/wide string must be lowercased.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.CompareWideStringProc">
 | |
|         <short>Callback used when 2 unicode/wide strings must be compared</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.CompareTextWideStringProc">
 | |
|         <short>Callback used when 2 unicode/wide strings must be compared case-insensitively</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.CharLengthPCharProc">
 | |
|         <short>Callback used when the character length of a unicode/wide string must be calculated</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.UpperAnsiStringProc">
 | |
|         <short>Callback used when an ansistring must be uppercased.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.LowerAnsiStringProc">
 | |
|         <short>Callback used when an ansistring must be lowercased.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.CompareStrAnsiStringProc">
 | |
|         <short>Callback used when 2 ansistrings must be compared.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.CompareTextAnsiStringProc">
 | |
|         <short>Callback used when 2 ansistrings must be compared case insensitively.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.StrCompAnsiStringProc">
 | |
|         <short>Callback used when 2 ansistrings must be compared case insensitively</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.StrICompAnsiStringProc">
 | |
|         <short>Callback used when 2 null-terminated ansistring arrays must be compared case insensitively</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.StrLCompAnsiStringProc">
 | |
|         <short>Callback used when 2 ansistring arrays must be compared up to a given length</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.StrLICompAnsiStringProc">
 | |
|         <short>Callback used when 2 ansistring arrays must be compared case insensitively up to agiven length</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.StrLowerAnsiStringProc">
 | |
|         <short>Callback used when a null-terminated ansistring array must be lowercased.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.StrUpperAnsiStringProc">
 | |
|         <short>Callback used when a null-terminated ansistring array must be uppercased.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.ThreadInitProc">
 | |
|         <short>Called whenever a new thread is started.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.ThreadFiniProc">
 | |
|         <short>Called whenever a thread ends.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.Unicode2AnsiMoveProc">
 | |
|         <short>Callback used whenever a unicode string must be converted to an ansistring.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.Ansi2UnicodeMoveProc">
 | |
|         <short>Callback used whenever a ansistring must be converted to a unicode string.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.UpperUnicodeStringProc">
 | |
|         <short>Callback used to convert a unicode string to uppercase.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.LowerUnicodeStringProc">
 | |
|         <short>Callback used to convert a unicode string to lowercase.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.CompareUnicodeStringProc">
 | |
|         <short>Callback used to compare 2 unicode strings.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TUnicodeStringManager.CompareTextUnicodeStringProc">
 | |
|         <short>Callback used to compare 2 unicode strings case insensitively</short>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="UnicodeStringToUCS4String">
 | |
|         <short>Convert a unicode string to a UCS-4 string.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UnicodeStringToUCS4String</var> converts a unicode string <var>S</var> to a UCS-4
 | |
| encoded string, and returns the resulting string.
 | |
| </p>
 | |
|           <p>This function requires the widestring manager.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="UCS4StringToUnicodeString"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="UCS4StringToUnicodeString">
 | |
|         <short>Convert a UCS-4 encoded string to a unicode string</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UCS4StringToUnicodeString</var> converts the UCS-4 encoded string
 | |
| <var>S</var> to a unicode string and returns the resulting string.
 | |
| </p>
 | |
|           <p>This function requires the widestring manager.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors/>
 | |
|         <seealso>
 | |
|           <link id="UnicodeStringToUCS4String"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="GetUnicodeStringManager">
 | |
|         <short>Return a copy of the currently active unicodetring manager.</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>GetUnicodeStringManager</var> returns a copy of the currently active 
 | |
| unicode string manager in <var>Old</var>
 | |
|           </p>
 | |
|           <p>UnicodeStrings are implemented in different ways on different platforms. 
 | |
| Therefore, the Free Pascal Runtime library has no fixed implementation of
 | |
| widestring routines. Instead, it defines a UnicodeStringManager record, 
 | |
| with callbacks that can be set to an implementation which is most 
 | |
| efficient on the current platform. On windows, standard Windows 
 | |
| routines will be used. On Unix and Linux, an implementation based on the 
 | |
| C library is available (in unit <file>cwstring</file>).
 | |
| </p>
 | |
|           <p>It is possible to implement a custom unicodestring manager, optimized for 
 | |
| the current application, without having to recompile the complete Run-Time Library.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="SetUnicodeStringManager"/>
 | |
|           <link id="TUnicodeStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SetUnicodeStringManager">
 | |
|         <short>Set the unicodestring manager</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SetUnicodeStringManager</var> sets the current unicodestring manager to <var>New</var>.
 | |
| Optionally, it returns the currently active widestring manager in <var>Old</var>.
 | |
| </p>
 | |
|           <p>UnicodeStrings are implemented in different ways on different platforms. 
 | |
| Therefore, the Free Pascal Runtime library has no fixed implementation of
 | |
| widestring routines. Instead, it defines a UnicodeString manager record, 
 | |
| with callbacks that can be set to an implementation which is most 
 | |
| efficient on the current platform. On windows, standard Windows 
 | |
| routines will be used. On Unix and Linux, an implementation based on the 
 | |
| C library is available (in unit <file>cwstring</file>).
 | |
| </p>
 | |
|           <p>It is possible to implement a custom unicodestring manager, optimized for 
 | |
| the current application, without having to recompile the complete Run-Time Library.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors/>
 | |
|         <seealso>
 | |
|           <link id="TUnicodeStringManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="PVmt">
 | |
|         <short>Pointer to <link id="#rtl.system.TVMT">TVMT</link> record </short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TVmt">
 | |
|         <short>Virtual method table layout</short>
 | |
|         <descr>
 | |
|           <var>TVMT</var> is a record describing the VMT of a class. It's various
 | |
| fields represent the available information in the VMT, as far as it is
 | |
| common to all classes.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="PVmt"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vInstanceSize">
 | |
|         <short>Class instance size</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vInstanceSize2">
 | |
|         <short>Duplicate of class instance size (should equal -vInstanceSize)</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vParent">
 | |
|         <short>Pointer to parent VMT</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vClassName">
 | |
|         <short>Pointer to shortstring with classname</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vDynamicTable">
 | |
|         <short>Pointer to table with dynamic methods.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vMethodTable">
 | |
|         <short>Pointer to table with virtual methods.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vFieldTable">
 | |
|         <short>Pointer to table with field information</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vTypeInfo">
 | |
|         <short>Pointer to class type info record.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vInitTable">
 | |
|         <short>Pointer to initialization information</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vAutoTable">
 | |
|         <short>Pointer to Automation interfaces table</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vIntfTable">
 | |
|         <short>Pointer to interfaces table</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vMsgStrPtr">
 | |
|         <short>Pointer to string message dispatch table</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vDestroy">
 | |
|         <short>Pointer to destructor</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vNewInstance">
 | |
|         <short>Pointer to NewInstance method</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vFreeInstance">
 | |
|         <short>Pointer to FreeInstance method</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vSafeCallException">
 | |
|         <short>?</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vDefaultHandler">
 | |
|         <short>Pointer to default message handler</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vAfterConstruction">
 | |
|         <short>Pointer to afterconstruction method.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vBeforeDestruction">
 | |
|         <short>Pointer to beforeconstruction method.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TVmt.vDefaultHandlerStr">
 | |
|         <short>Pointer to default string message handler</short>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="PInterface">
 | |
|         <short>Pointer to <link id="#rtl.system.IInterface">IInterface</link> interface</short>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="_fpc_objc_sel_type" skip="1"/>
 | |
|       <!-- pointer type Visibility: default -->
 | |
|       <element name="SEL" skip="1"/>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="TFPResourceHandle">
 | |
|         <short>Handle to resource</short>
 | |
|         <descr>
 | |
|           <var>TFPResourceHandle</var> represents a handle to a binary resource and is
 | |
| used in the various resource calls. Its actual type and size may differ accross 
 | |
| platforms. 
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TFPResourceHMODULE"/>
 | |
|           <link id="TFPResourceHGLOBAL"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="TFPResourceHMODULE">
 | |
|         <short>Handle to module containing resource</short>
 | |
|         <descr>
 | |
|           <var>TFPResourceHMODULE</var> represents a module (library, executable, other) in which
 | |
| a resource is located. It is used in the various resource calls. It is an opaque type: 
 | |
| its actual type and size may differ accross platforms.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TFPResourceHandle"/>
 | |
|           <link id="TFPResourceHGLOBAL"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- alias type Visibility: default -->
 | |
|       <element name="TFPResourceHGLOBAL">
 | |
|         <short>TFPResourceHGLOBAL</short>
 | |
|         <descr>
 | |
|           <var>TFPResourceHGLOBAL</var> represents a handle to the global module
 | |
| containing a resource. It is used in the various resource calls. 
 | |
| It is an opaque type: its actual type and size may differ accross platforms.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="TFPResourceHandle"/>
 | |
|           <link id="TFPResourceHMODULE"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="RT_ANICURSOR">
 | |
|         <short>Resource type: Animated cursor</short>
 | |
|         <descr>This constant can be used to specify a resource of type "animated cursor".
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RT_CURSOR"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="RT_ANIICON">
 | |
|         <short>Resource type: Animated icon</short>
 | |
|         <descr>This constant can be used to specify a resource of type "animated icon".
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RT_ICON"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="RT_HTML">
 | |
|         <short>Resource type: HTML data</short>
 | |
|         <descr>This constant can be used to specify a resource of type "HTML data".
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RT_MANIFEST"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="RT_MANIFEST">
 | |
|         <short>Resource type: manifest</short>
 | |
|         <descr>This constant can be used to specify a resource of type "Manifest".
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="RT_HTML"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="EnumResTypeProc">
 | |
|         <short>Callback for resource type enumeration</short>
 | |
|         <descr>
 | |
|           <var>EnumResTypeProc</var> is used in the <link id="EnumResourceTypes"/>
 | |
| call. It is called for all resources, and is passed the
 | |
| <var>ModuleHandle</var>, <var>ResourceType</var> values for each 
 | |
| resource encountered. Additionally, the <var>lParam</var> 
 | |
| parameter from the <var>EnumResourceTypes</var> is passed unaltered.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="EnumResourceTypes"/>
 | |
|           <link id="EnumResNameProc"/>
 | |
|           <link id="EnumResLangProc"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="EnumResNameProc">
 | |
|         <short>Callback for resource name enumeration</short>
 | |
|         <descr>
 | |
|           <var>EnumResNameProc</var>s used in the <link id="EnumResourceNames"/> call.
 | |
| It is called for all resources of the specified type, and is passed the <var>ModuleHandle</var>, 
 | |
| <var>ResourceType</var>, <var>ResourceName</var> values for each resource encountered. Additionally, 
 | |
| the <var>lParam</var> parameter from the <var>EnumResourceNames</var> is passed unaltered.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="EnumResourceNames"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function type Visibility: default -->
 | |
|       <element name="EnumResLangProc">
 | |
|         <short>Callback for language resource enumeration</short>
 | |
|         <descr>
 | |
|           <var>EnumResNameProc</var>s used in the <link id="EnumResourceLanguages"/> call.
 | |
| It is called for all languages for a resource of the specified type and name, 
 | |
| and is passed the <var>ModuleHandle</var>,
 | |
| <var>ResourceName</var> , <var>ResourceName</var> and <var>IDLanguage</var> values for each
 | |
| language encountered for the specified resource. Additionally,
 | |
| the <var>lParam</var> parameter from the <var>EnumResourceLanguages</var> is
 | |
| passed unaltered.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="EnumResourceLanguages"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="Is_IntResource">
 | |
|         <short>Check whether a resource is an internal resource</short>
 | |
|         <descr>
 | |
|           <var>Is_IntResource</var> returns <var>True</var> if the resource type is
 | |
| internal (system predefined) resource or false if it is a user-defined
 | |
| resource type.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="MakeLangID">
 | |
|         <short>Create a langauge ID</short>
 | |
|         <descr>
 | |
|           <var>MakeLangID</var> creates a language ID from the <var>primary</var> and
 | |
| <var>sub</var> language IDS. 
 | |
| </descr>
 | |
|         <seealso/>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="EnumResourceTypes">
 | |
|         <short>Enumerate available resource types</short>
 | |
|         <descr>
 | |
|           <var>EnumResourceTypes</var> enumerates the types of all resources in the
 | |
| module <var>ModuleHandle</var>. For each resource available it calls
 | |
| <var>EnumFunc</var> and passes it <var>ModuleHandle</var>, the type of
 | |
| the resource, and <var>lParam</var>. It returns <var>False</var> if no
 | |
| resources are available for the specified module, or <var>True</var> if
 | |
| there are resources available.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="EnumResourceNames"/>
 | |
|           <link id="EnumResourceLanguages"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="EnumResourceNames">
 | |
|         <short>Enumerate available resource names for a specified resource type</short>
 | |
|         <descr>
 | |
|           <var>EnumResourceNames</var> enumerates the names of all resources of type
 | |
| <var>ResourceType</var> in the module <var>ModuleHandle</var>. For each 
 | |
| resource available it calls <var>EnumFunc</var> and passes it <var>ModuleHandle</var>, the type of
 | |
| the resource <var>ResourceType</var>, the name of the resource, and <var>lParam</var>. 
 | |
| It returns <var>False</var> if no resources are available for the specified resource
 | |
| type and module, or <var>True</var> if there are resources available.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="EnumResourceTypes"/>
 | |
|           <link id="EnumResourceLanguages"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="EnumResourceLanguages">
 | |
|         <short>Enumerate available languages for a resource of given type and name</short>
 | |
|         <descr>
 | |
|           <var>EnumResourceLanguages</var> enumerates the available languages for a
 | |
| resource of given <var>ResourceName</var> and type <var>ResourceType</var> 
 | |
| in the module <var>ModuleHandle</var>.  
 | |
| For each language availanle, it calls <var>EnumFunc</var> and passes it
 | |
| <var>ModuleHandle</var>, the type of the resource <var>ResourceType</var>, the name of the resource
 | |
| <var>ResourceName</var>, the language ID, and <var>lParam</var>.
 | |
| It returns <var>False</var> if no resources are available for the specified
 | |
| resource type and module, or <var>True</var> if there are resources available.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="EnumResourceTypes"/>
 | |
|           <link id="EnumResourceNames"/>
 | |
|           <link id="EnumResourceLanguages"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- function Visibility: default -->
 | |
|       <element name="FindResourceEx">
 | |
|         <short>Find a resource based on type, name, language</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>FindResourceEx</var> looks in module <var>ModuleHandle</var> for a
 | |
| resource of type <var>ResourceType</var> and name <var>ResourceName</var>
 | |
| with languague ID <var>Language</var>. Both <var>Resourcename</var> and
 | |
| <var>ResourceName</var> can be specified as a null-terminated array of
 | |
| characters, or as an AnsiString.
 | |
| </p>
 | |
|           <p>If the requested language/sublanguage  is not found, then the search is
 | |
| conducted</p>
 | |
|           <ol>
 | |
|             <li>with only primary language.</li>
 | |
|             <li>with the neutral language (<var>LANG_NEUTRAL</var>)</li>
 | |
|             <li>with the english language</li>
 | |
|           </ol>
 | |
|           <p>If none of these has returned a match, then the first available language is
 | |
| returned.
 | |
| </p>
 | |
|           <p>If a match is found, a handle to the resource is returned. If none is found,
 | |
| an empty handle (nil or 0) is returned.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|       </element>
 | |
|       <!-- record type Visibility: default -->
 | |
|       <element name="TResourceManager">
 | |
|         <short>Resource manager definition</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>TResourceManager</var> is the record describing the resource manager.
 | |
| Depending on the kind of resources (internal, external), another resource 
 | |
| managing handler is installed by the system. The resource manager record is
 | |
| used by all resource handling functions to do the actual work: for each
 | |
| function in the API, a handler function is available. People wishing to
 | |
| implement their own resource manager, must implement all handler functions
 | |
| in their implementation.
 | |
| </p>
 | |
|           <p>As soon as resources are used, the compiler will install a resource manager,
 | |
| depending on the platform, this may be an internal or an external resource
 | |
| manager.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="GetResourceManager"/>
 | |
|           <link id="SetResourceManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.HINSTANCEFunc">
 | |
|         <short>Return the programs instance handle.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.EnumResourceTypesFunc">
 | |
|         <short>Handler for <link id="#rtl.system.EnumResourceTypes">EnumResourceTypes</link>.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.EnumResourceNamesFunc">
 | |
|         <short>Handler for <link id="#rtl.system.EnumResourceNames">EnumResourceNames</link>.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.EnumResourceLanguagesFunc">
 | |
|         <short>Handler for <link id="#rtl.system.EnumResourceLanguages">EnumResourceLanguages</link>.</short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.FindResourceFunc">
 | |
|         <short>Handler for <link id="#rtl.system.FindResource">FindResource</link>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.FindResourceExFunc">
 | |
|         <short>Handler for <link id="#rtl.system.FindResourceEx">FindResourceEx</link>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.LoadResourceFunc">
 | |
|         <short>Handler for <link id="#rtl.system.LoadResource">LoadResource</link>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.SizeofResourceFunc">
 | |
|         <short>Handler for <link id="#rtl.system.SizeOfResource">SizeOfResource</link>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.LockResourceFunc">
 | |
|         <short>Handler for <link id="#rtl.system.LockResource">LockResource</link>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.UnlockResourceFunc">
 | |
|         <short>Handler for <link id="#rtl.system.UnLockResource">UnLockResource</link>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- variable Visibility: default -->
 | |
|       <element name="TResourceManager.FreeResourceFunc">
 | |
|         <short>Handler for <link id="#rtl.system.FreeResource">FreeResource</link>
 | |
|         </short>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="GetResourceManager">
 | |
|         <short>Return the currently active resource manager</short>
 | |
|         <descr>
 | |
|           <var>GetResourceManager</var> returns the currently active resource manager record
 | |
| in <var>Manager</var>. There is always an active resource manager record.
 | |
| </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TResourceManager"/>
 | |
|           <link id="SetResourceManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- procedure Visibility: default -->
 | |
|       <element name="SetResourceManager">
 | |
|         <short>Set the resource manager</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>SetResourceManager</var> sets the active resource manager to
 | |
| <var>Manager</var>. After a call to <var>SetResourceManager</var>, the
 | |
| functions in the <var>Manager</var> record will be used to handle resources.
 | |
| </p>
 | |
|           <p>Note that it is not supported to change resource managers on-the-fly: any
 | |
| resources or information about resources obtained should be discareded prior
 | |
| to a call to <var>SetResourceManager</var>. Typically,
 | |
| <var>SetResourceManager</var> should be called once, at program startup.
 | |
| </p>
 | |
|         </descr>
 | |
|         <errors>None.
 | |
| </errors>
 | |
|         <seealso>
 | |
|           <link id="TResourceManager"/>
 | |
|           <link id="GetResourceManager"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <!-- constant Visibility: default -->
 | |
|       <element name="UnixGetModuleByAddrHook">
 | |
|         <short>(Unix only) callback for <var>GetModuleByAddr</var>
 | |
|         </short>
 | |
|         <descr>
 | |
|           <var>UnixGetModuleByAddrHook</var> is used on unix systems to retrieve a
 | |
| module name based on an address. It is used in the <link id="#rtl.exeinfo">exeinfo</link> unit to map addresses to module (programs
 | |
| or library) names.
 | |
| </descr>
 | |
|         <seealso>
 | |
|           <link id="#rtl.exeinfo">exeinfo</link>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="WriteStr">
 | |
|         <short>Write variables to a string</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>WriteStr</var> behaves like <link id="Write"/>, except that it stores
 | |
| its output in the string variable <var>S</var> instead of a file.
 | |
| Semantically, the <var>WriteStr</var> call is equivalent to writing the
 | |
| arguments to a file using the <var>Write</var> call, and then reading them
 | |
| into <var>S</var> using the <var>Read</var> call from the same file:
 | |
| </p>
 | |
|           <code>var
 | |
|   F : Text;
 | |
| begin
 | |
|   Rewrite(F);
 | |
|   Write(F,Args);
 | |
|   Close(F);
 | |
|   Reset(F);
 | |
|   Read(F,S);
 | |
|   Close(F);
 | |
| end;  
 | |
| </code>
 | |
|           <p>Obviously, the <var>WriteStr</var> call does not use a temporary file.
 | |
| </p>
 | |
|           <p>
 | |
|             <var>WriteStr</var> is defined in the ISO Extended Pascal standard.
 | |
| More information on the allowed arguments and the possible formatting can be
 | |
| found in the description of <link id="Write"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="Write"/>
 | |
|           <link id="ReadStr"/>
 | |
|           <link id="Read"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="ReadStr">
 | |
|         <short>Read variables from a string</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>ReadStr</var> behaves like <link id="Read"/>, except that it reads
 | |
| its input from the string variable <var>S</var> instead of a file.
 | |
| Semantically, the <var>ReadStr</var> call is equivalent to writing the
 | |
| string to a file using the <var>Write</var> call, and then reading them
 | |
| into the various arguments <var>Arg</var> using the <var>Read</var> call 
 | |
| from the same file:
 | |
| </p>
 | |
|           <code>var
 | |
|   F : Text;
 | |
| begin
 | |
|   Rewrite(F);
 | |
|   Write(F,S);
 | |
|   Close(F);
 | |
|   Reset(F);
 | |
|   Read(F,Args);
 | |
|   Close(F);
 | |
| end;  
 | |
| </code>
 | |
|           <p>Obviously, the <var>ReadStr</var> call does not use a temporary file.
 | |
| </p>
 | |
|           <p>
 | |
|             <var>ReadStr</var> is defined in the ISO Extended Pascal standard.
 | |
| More information on the allowed arguments and the behaviour of the arguments
 | |
| can be found in the description of <link id="Read"/>.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="Read"/>
 | |
|           <link id="WriteStr"/>
 | |
|           <link id="Write"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="pack">
 | |
|         <short>Create packed array from normal array</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>Pack</var> will copy the elements of an unpacked array
 | |
| (<var>A</var>) to a packed array (<var>Z</var>). 
 | |
| It will start the copy at the index denoted by <var>StartIndex</var>.
 | |
| The type of the index variable <var>StartIndex</var> must match the type
 | |
| of the index of <var>A</var>. The elements are always transferred to the
 | |
| beginning of the packed array <var>Z</var>. (i.e. it starts at <var>Low(Z)</var>).
 | |
| </p>
 | |
|           <p>Obviously, the type of the elements of the arrays <var>A</var> and <var>Z</var> must
 | |
| match.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="unpack"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|       <element name="UnPack">
 | |
|         <short>Create unpacked array from packed array</short>
 | |
|         <descr>
 | |
|           <p>
 | |
|             <var>UnPack</var> will copy the elements of a packed array (<var>Z</var>)
 | |
| to an unpacked array (<var>A</var>). All elements in <var>Z</var> are copied
 | |
| to <var>A</var>, starting at index <var>StartIndex</var> in <var>A</var>. 
 | |
| The type of the index variable <var>StartIndex</var> must match
 | |
| the type of the index of <var>A</var>.
 | |
| </p>
 | |
|           <p>Obviously, the type of the elements of the arrays <var>A</var> and
 | |
| <var>Z</var> must match.
 | |
| </p>
 | |
|         </descr>
 | |
|         <seealso>
 | |
|           <link id="Pack"/>
 | |
|         </seealso>
 | |
|       </element>
 | |
|     </module>
 | |
|   </package>
 | |
| </fpdoc-descriptions>
 | 
