FCL class hierarchy
EParserErrorEJSONParserException class for JSON parsing errorsEScannerErrorJSON scanner exception
EStreamErrorEBlowFishErrorException used to report errors.EIDEAErrorException for IDEA Stream errors.EIOStreamErrorError thrown in case of an invalid operation on a TIOStream.ENullStreamErrorException for erroneous seeks.EPipeErrorException raised when an invalid operation is performed on a pipe stream.EPipeCreationException raised when an error occurred during the creation of a pipe pair.EPipeSeekException raised when an invalid seek operation is attempted on a pipe.
EzliberrorBase exception for exceptions in the ZStream unit.EcompressionerrorErrors in the TCompressionStream class are signaled with this exception.EdecompressionerrorErrors in the TDeCompressionStream class are signaled with this exception.EgzfileerrorException class used in Tgzfilestream class.
ExceptionEBase64DecodingExceptionException raised on errors.ECacheErrorException class used in the cachecls unit.ECGIExceptionException raised by TEZcgi.ECollectionErrorException class for collection errorsEDaemonException used in all daemon application code.EDatabaseErrorBase class for all database-related errors.ESQLDatabaseErrorSQL database error class.EIBDatabaseErrorFirebird/Interbase database error.EMSSQLDatabaseErrorSybase/MS SQL Server specific error.
EUpdateErrorError raised when updating data during a post operation.
EDictionaryErrorException class for dictionary errorsEDuplicateException raised when a key is stored twice in a hash table.EExprParserExpression parser exception classEExprScannerException class for scanner errorsEHTTPHTTP exception classEFPHTTPErrorException for HTTP processing errorsEFpWebErrorException class for web application errors
EFPWebErrorException class for web-related errorsEHTTPClientException class for HTTP client errorsEHTTPClientSocketException class for HTTP client socket errorsEHTTPClientSocketReadException class for HTTP client socket read errorsEHTTPClientSocketWriteException class for HTTP client socket write errors
EHTTPRouteHTTP routing exception class
EICPExceptionException class for IPC-related errorsEIniColException used for error reporting.EInstallerErrorException class for installer errorsEIPCErrorError reporting exception.EJSONJSON exception.EJSONToPascalException class for JSON to Pascal conversion errorsEJSONWriterException class for JSON writing errors
EKeyNotFoundException raised when a key is not found.ELogErrorException raised on errors in the TEventLog component.EMediatorException class for mediator-related errorsEMOFileErrorException raised in case of an error.EProcessException raised when an error occurs in a TProcess routine.ESingleInstanceException raised in case of errors.EStreamCollException raised when an error occurs when streaming the collection.ESyncObjectExceptionException object used in unit syncobjs.ELockExceptionLocking error exception.ELockRecursionExceptionLock recursion exception.
ETemplateParserException for template parser errors.EVersionInfoException class for version information errorsEZipErrorException raised for errors in TZipper and TUnZipper.MDSErrorException raised for errors when reading or writing an in-memory dataset.
HTTPErrorEWebSessionErrorException for session-related errors
TASCII85RingBufferTAVLTreeTAVLTreeNodeTAVLTreeNodeEnumeratorTBaseAVLTreeNodeManagerTAVLTreeNodeMemManagerTAVLTreeNode Node memory manager.
TBaseJSONEnumeratorTBinaryObjectReaderTBidirBinaryObjectReaderBinary component stream reader with BiDi support.
TBinaryObjectWriterTBidirBinaryObjectWriterBinary component stream writer with BiDi support.
TCacheTCollectionTCheckConstraintsSet of record-level constraints.TConditionalStringsCollection of conditional string valuesTConditionalDestStringsCollection of conditional destination stringsTDependenciesCollection of build dependenciesTResourceFilesCollection of resource files for the build system
TCookiesCollection of HTTP cookiesTCustomWebActionsCollection of web actionsTFPWebActionsCollection of web actions with advanced functionality
TDaemonDefsCollection of daemon definitions.TDependenciesDependencies collection for a daemon.TFPExprIdentifierDefsCollection class for expression identifier definitionsTHTTPRouteListCollection of HTTP routesTIniCollectionCollection which can write itself to an .ini file.TNamedIniCollectionCollection of named collection items.
TMediatorDefsCollection of mediator definitions for the managerTMediatorFieldInfoListCollection of field information for columnar list displaysTMimeItemsCollection of MIME multipart itemsTStreamingMimeItemsCollection for streaming MIME multipart items
TModuleFactoryFactory for managing HTTP modulesTNamedCollectionCollection class for managing named itemsTCommandsCollection of commands to execute during buildTPackagesCollection of packagesTPackageVariantsCollection of package variantsTSourcesCollection of source filesTTargetsCollection class for managing build targets
TNotifyEventCollectionCollection of notification event handlersTParamsA collection of parameter values for SQL-based datasets.TSQLDBParamsTParams descendant with room to store engine-specific data.
TPropertyMapCollection of property mapping itemsTRequestInterceptorListCollection of request interceptorsTSqlObjectIdentifierListTStreamCollectionCollection with stream support.TTemplateVarsCollection of template variablesTUploadedFilesCollection of uploaded filesTZipFileEntriesCollection used to store information about files and directories in the .zip archive.TFullZipFileEntriesCollection of TFullZipFileEntry items.
TCollectionEnumeratorTCommandEnumeratorEnumerator for iterating through commandsTDependencyEnumeratorEnumerator for iterating through dependency collectionsTNotifyEventEnumeratorEnumerator for iterating through notification eventsTPackageEnumeratorEnumerator for iterating through package collectionsTPackageVariantEnumeratorEnumerator for iterating through package variantsTSourceEnumeratorEnumerator for iterating through source collectionsTTargetEnumeratorEnumerator for iterating through build targets
TCollectionItemTCheckConstraintRecord-level constraint definition.TConditionalStringString value with CPU and OS conditionsTConditionalDestStringConditional string with destination pathTDependencyRepresents a build dependency in the fpmake systemTResourceFileRepresents a resource file in the build system
TCookieHTTP cookie implementationTCustomWebActionBase class for web actionsTFPWebActionWeb action with content and template support
TDaemonDefDaemon definition.TDependencyContainer to define dependencies on other services.TFPExprIdentifierDefClass for defining identifiers in expressionsTFPBuiltInExprIdentifierDefClass for built-in expression identifier definitions
THTTPRouteBase HTTP route classTHTTPRouteCallbackRoute with callback procedure handlerTHTTPRouteCallbackExRoute with extended callback handlerTHTTPRouteEventRoute with object event handlerTHTTPRouteInterfaceRoute with interface-based handlerTHTTPRouteObjectRoute with object class handler
TIniCollectionItemCollection item with support for loading/saving from/to ini file.TNamedIniCollectionItemTIniCollectionItem with a name property.
TMediatorDefDefinition for registering mediators with the mediator managerTMediatorFieldInfoDescribes a column in columnar list display mediatorsTMimeItemRepresents a MIME multipart itemTModuleItemContainer for module registration informationTNamedItemBase class for items with a name propertyTCommandRepresents a command to be executed during buildTFieldDefClass to describe one field in a record in a dataset.TSQLDBFieldDefTFieldDef descendant with room to store engine-specific data.
TIndexDefIndex definition.TPackageCentral class for package management and buildingTPackageVariantPackage variant with specific build optionsTSourceRepresents a source file in the build systemTTargetBuild target representation in the fpmake system
TNamedItemNamed collection item.TCommandRepresents a command to be executed during buildTFieldDefClass to describe one field in a record in a dataset.TSQLDBFieldDefTFieldDef descendant with room to store engine-specific data.
TIndexDefIndex definition.TPackageCentral class for package management and buildingTPackageVariantPackage variant with specific build optionsTSourceRepresents a source file in the build systemTTargetBuild target representation in the fpmake system
TNotifyEventItemIndividual notification event item with callback handlersTParamParameter description class.TSQLDBParamTParam descendent used in SQLDB.
TPropertyMapItemCollection item representing a single property mappingTRequestInterceptorItemSingle request interceptor definitionTSqlObjectIdenfierSQL Identifier properties object.TStreamCollectionItemCollection item with streaming support.TTemplateVarTemplate variable with name and valueTUploadedFileRepresents an uploaded file in an HTTP requestTZipFileEntryRepresents a file or directory added to a .ZIP file.TFullZipFileEntryExtended zip file entry.
TComponentTBaseMediatorBase class for mediating data between model and view objectsTBaseListMediatorBase mediator for handling lists of observable objectsTColumnsListMediatorList mediator supporting multiple columns with field configuration
TComponentMediatorGeneral-purpose mediator for any TComponent-based view
TBaseSingleInstanceAbstract class for single application instance.TAdvancedSingleInstanceSingle Application instance class using file communication.
TBuildEngineMain build engine for compiling and installing packagesTCustomApplicationAncestor class for TApplication classes.TCustomDaemonApplicationCustom daemon application class.TDaemonApplicationDefault descendent of CustomDaemonApplication.
TCustomWebApplicationBase class for web applications with integrated request handling
TCustomConnectionAbstract class for connections to a server.TDatabaseBase class for connecting a FreePascal application to an external Database engine.TSQLConnectionAn abstract class representing a connection to a SQL Database.TIBConnectionTIBConnection: Firebird/Interbase specific .TMSSQLConnectionMicrosoft SQL Server database connector.TSybaseConnectionSybase ASE database connector.
TSQLConnectorUniversal connection component.
TCustomDaemonMapperDaemon mapper.TDaemonMapperDaemon mapper for designing in IDE.
TCustomInstallerBase class for package installersTBasicInstallerBasic installer implementationTFPCInstallerFree Pascal Compiler specific installer implementation
TCustomSessionBase class for HTTP session managementTCustomSQLStatementObject to execute SQL statements without result set.TSQLStatementClass to execute non-select SQL statements.
TDaemonControllerInternal daemon controller class.TDataSetBase class for records-based data-access.TDBDatasetDataset connected to a database.TCustomBufDatasetAncestor class for a database-aware buffered dataset.TBufDatasetImplements a database-aware buffered dataset.TCustomSQLQueryCustom Class to handle SQL commands (with or without result set).TSQLQueryClass to handle SQL commands (with or without result set).
TMemDatasetImplements an in-memory dataset.
TDataSourceComponent representing the link between a local (GUI) component and a dataset.TDBTransactionEncapsulate a transaction.TSQLTransactionTransaction in which a TSQLQuery is handled.
TDictionaryString substitution dictionary for variables and functionsTPackageDictionaryPackage-specific dictionary with master dictionary support
TEventLogEvent logging class.TExprBuiltInManagerClass for managing built-in functions and variables in expressionsTFieldProvide access to the contents of a single field in a record.TBinaryFieldField class for working with binary field data.TBytesFieldField class for fixed size byte array values.TVarBytesFieldField class for variable size byte array values.
TBlobFieldBase class for BLOB field data.TGraphicFieldField class for graphical BLOB field data.TMemoFieldBase class for MEMO (text BLOB) field data.TWideMemoFieldField class for wide MEMO (widestring text BLOB) field data.
TBooleanFieldBoolean field class type.TDateTimeFieldField class for date/time/Datetime values.TDateFieldField class for date values.TTimeFieldField class for time values.
TNumericFieldBase class for all numerical data field classes.TBCDFieldField class for Binary Coded Decimal (BCD) values.TExtendedFieldTFloatFieldClass for floating point values.TCurrencyFieldClass for currency fields.
TFMTBCDFieldFixed precision floating point data field.TLargeintFieldField class for 64-bit signed integer data.TLongintFieldField class for 32-bit signed integer data.TAutoIncFieldField for auto-incremental, 32-bit signed integer data.TByteFieldField class for 8-bit unsigned integer data.TIntegerFieldAlias for TLongintField.TShortintFieldField class for 8-bit signed integer data.TSmallintFieldField class for smallint (16-bit signed integer) data.TWordFieldField class for word (16-bit unsigned integer) data.
TLongWordFieldField class for 32-bit unsigned integer data.TSingleField
TObjectFieldTStringFieldField class to handle ansistring fields.TGuidFieldField class for native variant data.TWideStringFieldField class for widestring data.
TVariantFieldField class for native variant data.
TFileVersionInfoHigh-level component for accessing file version informationTFPCustomHTTPClientBase HTTP client class for making HTTP requestsTFPHTTPClientFull-featured HTTP client with published properties
TFPCustomTimerCustom timer class.TFPTimerTimer class with published properties.
TFPExpressionParserClass for parsing and evaluating mathematical expressionsTFPMimeTypesClass to manage list of mime type mappings.THTTPContentProducerBase class for HTTP content productionTHTTPRouterHTTP request router classTIPCBaseBase class for IPC client and server functionalityTIPCClientIPC client for sending requests and receiving responsesTIPCServerIPC server for receiving requests and sending responses
TJSONApplierComponent class for applying (merging) JSON objectsTJSONToPascalMain class for generating Pascal code from JSON dataTPascalCodeGeneratorPascal code generator classTProcessClass to start and control other processes.TSessionFactoryFactory for managing user sessionsTSimpleIPCAncestor for client/server simple IPC classes.TSimpleIPCClientSimple IPC client component.TSimpleIPCServerSimple IPC server component.
TWebHandlerBase class for handling HTTP requests in web applications
TCustomIniFileTIniFileIni file implementation.TMemIniFileInifile cached in memory.
TJSONIniFileIni file implementation using JSON storage format
TCustomSQLscriptTSQLScriptComponent to execute various SQL statements.
TDataModuleTCustomDaemonBase daemon application class.TDaemonDaemon class for visual development.
TCustomHTTPModuleBase class for HTTP modulesTSessionHTTPModuleHTTP module with session supportTCustomFPWebModuleBase class for web modules with action and template supportTFPWebModuleComplete web module with published properties
TDataSetEnumeratorTFieldsEnumeratorTFileStreamTBufferedFileStreamImplements a buffered file stream with a multi-page buffer.
TFormattingWriterTHTMLWriterHTML implementation of formatting writerTMarkdownWriterMarkdown output writer with native Markdown formattingTTextWriterPlain text output writer with line wrapping and formatting supportTTexWriterLaTeX implementation of formatting writer
TFPHashObjectTFPListTNamedItemListList class for managing named items
TfpmPluginTfpmPluginManagerManager for FPMake plugin systemTfpmResolvePackagePathsPluginPlugin for resolving package file paths
THandleStreamTInputPipeStreamTStream descendent which wraps the read end of a pipe.TIOStreamStream which handles standard input/output and stderr.TNullStreamEmpty data stream.TOutputPipeStreamTStream descendent which wraps the write end of a pipe.TReleaseHandleStreamHandle stream that releases file handle on destruction
TIniFileKeyTIniFileSectionTInterfacedObjectTInterlockedTIPCServerMsgTIPCServerMsgQueueTJSONScannerTJSONToYamlTListTClassListList of classes.TIniFileKeyListKey list object.TIniFileSectionListSection objects list.TObjectListList to manage object instances.TComponentListList to manage component instances.
TMOFileTNonFreePooledMemManagerTObjectTAbstractJSONWriterAbstract base class for JSON writersTJSONDataWriterJSON writer that builds TJSONData tree in memoryTJSONStreamWriterJSON writer that writes directly to a stream
TBaseJSONReaderAbstract base class for JSON readersTJSONConsumerReaderJSON reader that uses an IJSONConsumer for processingTJSONEventReaderEvent-based JSON reader that fires events for JSON elementsTJSONParserJSON parser implementation class
TBlowFishClass implementing Blowfish encryption/decryption.TBufIndexDefines the interface used to implement indexes in TBufDataset.TArrayBufIndexImplements an index using an array of record buffers.TDoubleLinkedBufIndexImplements an index using a doubly-linked list.TUniDirectionalBufIndexImplements a uni-directional index.
TCompressorCompressor object.TCustomBucketListCustom bucket list class.TBucketListDefault bucket list implementation.TObjectBucketListBucket list using objects instead of pointers.
TCustomHTTPEventSourceBase class for Server-Sent Events (SSE) clientTHTTPEventSourceDefault Server-Sent Events source implementation
TDataPacketHandlerTDeCompressorDecompressor object.TInflaterChild of TDeCompressor that implements the Inflate decompression method.
TEZcgiEasy CGI class.TFieldsCollection of instances.TFPCustomHashTableHash class.TFPDataHashTableHash table for data pointers.TFPObjectHashTableHash table for object instances.TFPStringHashTableHash table for string data.
TFPExpressionScannerClass for tokenizing expression strings into parser tokensTFPExprNodeClass for representing nodes in expression treesTCaseOperationInternally used class for case-when conditional operationsTFPBinaryOperationInternally used class for binary operations with left and right operandsTFPBooleanOperationInternally used class for boolean operations in expressionsTFPBinaryAndOperationInternally used class for binary AND logical operationTFPBinaryOrOperationInternally used class for binary OR logical operationTFPBinaryXOrOperationInternally used class for binary XOR logical operation
TFPBooleanResultOperationInternally used class for operations that result in boolean valuesTFPEqualOperationInternally used class for equality comparison operationsTFPUnequalOperationInternally used class for inequality comparison operations
TFPOrderingOperationInternally used class for ordering comparison operationsTFPGreaterThanOperationInternally used class for greater-than comparison operationsTFPLessThanEqualOperationInternally used class for less-than-or-equal comparison operations
TFPLessThanOperationInternally used class for less-than comparison operationsTFPGreaterThanEqualOperationInternally used class for greater-than-or-equal comparison operations
TIfOperationInternally used class for conditional if-then-else operationsTMathOperationInternally used class for mathematical operations in expressionsTFPAddOperationInternally used class for addition operationsTFPDivideOperationInternally used class for division operationsTFPModuloOperationInternally used class for modulo operationsTFPMultiplyOperationInternally used class for multiplication operationsTFPPowerOperationInternally used class for power/exponentiation operationsTFPSubtractOperationInternally used class for subtraction operations
TFPConstExpressionInternally used class for constant value expressionsTFPExprIdentifierNodeInternally used class for identifier nodes in expression treesTFPExprFunctionInternally used class for representing function calls in expression treesTAggregateExprInternally used Base class for aggregate expressionsTAggregateCountInternally used class for count aggregate functionsTAggregateMaxInternally used class for maximum aggregate functionsTAggregateMinInternally used class for minimum aggregate functionsTAggregateSumInternally used class for sum aggregate functionsTAggregateAvgInternally used class for average aggregate functions
TFPFunctionCallBackInternally used class for callback-based function expressionsTFPFunctionEventHandlerInternally used class for event-based function expressions
TFPExprVariableInternally used class for variable expression nodes
TFPUnaryOperatorInternally used class for unary operations with single operandTFPConvertNodeInternally used class for type conversion operationsTCurrencyToDateTimeNodeInternally used class for converting currency to datetimeTCurrencyToFloatNodeInternally used class for converting currency to floatTFloatToCurrencyNodeInternally used class for converting float to currencyTFloatToDateTimeNodeInternally used class for converting float to datetimeTIntConvertNodeInternally used class for integer conversion operationsTIntToCurrencyNodeInternally used class for converting integer to currencyTIntToDateTimeNodeInternally used class for converting integer to datetimeTIntToFloatNodeInternally used class for converting integer to float
TFPNegateOperationInternally used class for numeric negation operationsTFPNotNodeInternally used class for logical NOT operations
TFPHashListHash list class for pointer data.TFPHashObjectListTFPObjectListTFPList descendent which manages objects.TFPTimerDriverAbstract driver class.TFunctionItemDictionary item containing a function callbackTHTCustomNodeSingle item in the hash table.THTDataNodeData node for pointer hashtable.THTObjectNodeNode type for TFPObjectHashTable.THTOwnedObjectNodeNode type for owned objects.
THTStringNodeNode type for TFPStringHashTable.
THTTPHeaderBase class for HTTP header managementTIPCClientCommInternal client-side communication protocol.TIPCServerCommInternal message communication component.TJSONComparerClass for comparing JSON data structuresTJSONDataBase (abstract) object for all JSON based data types.TJSONArrayClass of TJSONArray.TJSONBooleanClass to represent boolean JSON data.TJSONNullClass to represent boolean JSON data.TJSONNumberCommon ancestor for the numerical value JSON classes.TJSONFloatNumberClass to represent floating-point JSON data.TJSONInt64NumberClass to represent 64-bit integer JSON data.TJSONIntegerNumberClass to represent 32-bit integer JSON data.TJSONQWordNumberClass to represent 64-bit unsigned integer JSON data.
TJSONObjectClass of TJSONObject.TJSONStringClass to represent string JSON data.
TListItemMediatorMediator for individual items within list mediatorsTColumnsListItemMediatorList item mediator with multi-column support
TLookupListClass to manage lookup list values.TMaskUtilsClass to manipulate and work with edit masks.TMediatorManagerCentral manager for registering and finding mediator definitionsTMimeTypeHelper class to store a mime type and its associated extensions.TObservedHookObserver pattern helper class implementing IFPObserved interfaceTOrderedListBase class for queues and stacks.TQueuePointer queue.TStackPointer Stack.TObjectStackObject instances stack.
TPropInfoListClass for keeping property information.TPropsStorageProperty storage mechanism.TRouteObjectBase class for route handler objectsTSQLHandleInternal object representing a database internal handle.TIBTransFirebird/Interbase transaction.TSQLCursorInternal object representing a database result set.TIBCursorFirebird/Interbase cursor.
TSynchroObjectAbstract synchronization object.TCountdownEventTCriticalSectionCritical section.THandleObjectClass encapsulating an operating system handle.TEventObjectEvent propagation object.TSimpleEventSimple, anonymous event.
TMutexTSemaphore
TTemplateParserA class to parse templates.TTextReaderText reader class.TFileReaderImplement TTextReader for files.TStreamReaderImplement TTextReader for streams.TStringReaderImplement TTextReader for a single string.
TUnZipperExtracts and decompresses files and directories in a .ZIP archive file.TValueItemDictionary item containing a valueTZipperCreates a .ZIP archive file.
TOwnedCollectionTDefCollectionDefinition collection.TFieldDefsCollection of TFieldDef instances.TSQLDBFieldDefsTFieldDefs descendant with room to store engine-specific data.
TIndexDefsA class to keep a list of index definitions.TServerIndexDefsSQLDB specific descendant of the TIndexDefs.
TOwnerStreamTASCII85DecoderStreamASCII 85 decoder stream.TASCII85EncoderStreamASCII 85 encoding stream.TBase64DecodingStreamBase64 Decoding stream.TBase64EncodingStreamBase64 encoding stream.TBlowFishStreamParent class for Blowfish encryption/decryption streams.TBlowFishDeCryptStreamOn-the-fly Blowfish decryption stream.TBlowFishEncryptStreamOn-the-fly Blowfish encryption stream.
TBufStreamCommon ancestor for buffered streams.TReadBufStreamRead-only buffered stream.TWriteBufStreamWrite-only buffered stream.
TcustomzlibstreamAncestor for compression and decompression classes.TcompressionstreamWrite-only stream class which compresses data written to it.TdecompressionstreamReads and decompresses data from a compressed data stream.
TIDEAStreamAncestor stream for IDEA encryption/decryption streams.TIDEADeCryptStreamIDEA Decryption stream.TIDEAEncryptStreamIDEA encryption stream.
TWindowedStreamProvide a window on another stream.
TParamsEnumeratorTPersistentTConnectionDefConnection type definition class.TIBConnectionDefDescribes class.TMSSQLConnectionDefConnection definition for TSQLConnector.TSybaseConnectionDefConnection definition for TSQLConnector.
TCORSSupportCross-Origin Resource Sharing supportTCSVHandlerBase class for CSV reading and writing classes.TCSVBuilderClass to write a CSV file.TCSVDocumentClass representing a CSV document in memory.TCSVParserClass to parse a CSV file.
TCustomDefaultsBase class for build system default configurationsTBasicDefaultsBasic default configuration classTFPCDefaultsFPC-specific default configuration class
TDataLinkData event handling agent for controls.TDetailDataLinkRepresents the link between a detail data source and a master datasource.TMasterDataLinkDatalink for Master-Detail relationships between datasets.TMasterParamsDataLinkClass to establish a master-detail relationship between dataset, based on parameters.
TFPCustomTemplateBase class for templates.TFPTemplateTemplate component.
TFPVersionRepresents a Free Pascal version numberTIODescriptorTProxyDataProxy server configuration dataTSQLSequenceSupport for applying sequences to fields.TWinBindingsWindows Daemon bindings (windows only).
TPooledMemManagerTReaderTDelphiReaderStream reader with BiDi Support.
TStreamTBufBlobStreamImplements a Blob Stream for TBufDataset.TGZFileStreamStream to read/write from a gzip file.TGZipCompressionStreamTGZipDecompressionStream
TStringHashTStringListTHashedStringListString list with support for hash values.
TTarArchiveTTarWriterTTextWriterTThreadTCompileWorkerThreadWorker thread for compilation operationsTDaemonThreadThread to run daemons in.
TVersionInfoTWriterTDelphiWriterStream writer with BiDi Support.
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
