ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/FBMessages.pas
Revision: 45
Committed: Tue Dec 6 10:33:46 2016 UTC (7 years, 11 months ago) by tony
Content type: text/x-pascal
Original Path: ibx/trunk/fbintf/client/FBMessages.pas
File size: 22924 byte(s)
Log Message:
Committing updates for Release R2-0-0

File Contents

# User Rev Content
1 tony 45 (*
2     * Firebird Interface (fbintf). The fbintf components provide a set of
3     * Pascal language bindings for the Firebird API. Although predominantly
4     * a new development they include source code taken from IBX and may be
5     * considered a derived product. This software thus also includes the copyright
6     * notice and license conditions from IBX.
7     *
8     * Except for those parts dervied from IBX, contents of this file are subject
9     * to the Initial Developer's Public License Version 1.0 (the "License"); you
10     * may not use this file except in compliance with the License. You may obtain a
11     * copy of the License here:
12     *
13     * http://www.firebirdsql.org/index.php?op=doc&id=idpl
14     *
15     * Software distributed under the License is distributed on an "AS
16     * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
17     * implied. See the License for the specific language governing rights
18     * and limitations under the License.
19     *
20     * The Initial Developer of the Original Code is Tony Whyman.
21     *
22     * The Original Code is (C) 2016 Tony Whyman, MWA Software
23     * (http://www.mwasoftware.co.uk).
24     *
25     * All Rights Reserved.
26     *
27     * Contributor(s): ______________________________________.
28     *
29     *)
30     {************************************************************************}
31     { }
32     { Borland Delphi Visual Component Library }
33     { InterBase Express core components }
34     { }
35     { Copyright (c) 1998-2000 Inprise Corporation }
36     { }
37     { InterBase Express is based in part on the product }
38     { Free IB Components, written by Gregory H. Deatz for }
39     { Hoagland, Longo, Moran, Dunst & Doukas Company. }
40     { Free IB Components is used under license. }
41     { }
42     { The contents of this file are subject to the InterBase }
43     { Public License Version 1.0 (the "License"); you may not }
44     { use this file except in compliance with the License. You }
45     { may obtain a copy of the License at http://www.Inprise.com/IPL.html }
46     { Software distributed under the License is distributed on }
47     { an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either }
48     { express or implied. See the License for the specific language }
49     { governing rights and limitations under the License. }
50     { The Original Code was created by InterBase Software Corporation }
51     { and its successors. }
52     { Portions created by Inprise Corporation are Copyright (C) Inprise }
53     { Corporation. All Rights Reserved. }
54     { Contributor(s): Jeff Overcash }
55     { }
56     { IBX For Lazarus (Firebird Express) }
57     { Contributor: Tony Whyman, MWA Software http://www.mwasoftware.co.uk }
58     { Portions created by MWA Software are copyright McCallum Whyman }
59     { Associates Ltd 2011 - 2015 }
60     { }
61     {************************************************************************}
62     unit FBMessages;
63    
64     {$IFDEF FPC}
65     {$mode objfpc}{$H+}
66     {$codepage UTF8}
67     {$ENDIF}
68    
69     interface
70    
71     uses
72     Classes, SysUtils;
73    
74     type
75     TIBDataBaseErrorMessage = (ShowSQLCode,
76     ShowIBMessage,
77     ShowSQLMessage);
78    
79     TIBDataBaseErrorMessages = set of TIBDataBaseErrorMessage;
80     TIBClientError = (
81     ibxeUnknownError,
82     ibxeInterBaseMissing,
83     ibxeInterBaseInstallMissing,
84     ibxeIB60feature,
85     ibxeNotSupported,
86     ibxeNotPermitted,
87     ibxeFileAccessError,
88     ibxeConnectionTimeout,
89     ibxeCannotSetDatabase,
90     ibxeCannotSetTransaction,
91     ibxeOperationCancelled,
92     ibxeDPBConstantNotSupported,
93     ibxeDPBConstantUnknown,
94     ibxeTPBConstantNotSupported,
95     ibxeTPBConstantUnknown,
96     ibxeDatabaseClosed,
97     ibxeDatabaseOpen,
98     ibxeDatabaseNameMissing,
99     ibxeNotInTransaction,
100     ibxeInTransaction,
101     ibxeTimeoutNegative,
102     ibxeNoDatabasesInTransaction,
103     ibxeUpdateWrongDB,
104     ibxeUpdateWrongTR,
105     ibxeDatabaseNotAssigned,
106     ibxeTransactionNotAssigned,
107     ibxeXSQLDAIndexOutOfRange,
108     ibxeXSQLDANameDoesNotExist,
109     ibxeEOF,
110     ibxeBOF,
111     ibxeInvalidStatementHandle,
112     ibxeSQLOpen,
113     ibxeSQLClosed,
114     ibxeDatasetOpen,
115     ibxeDatasetClosed,
116     ibxeUnknownSQLDataType,
117     ibxeInvalidColumnIndex,
118     ibxeInvalidParamColumnIndex,
119     ibxeInvalidDataConversion,
120     ibxeColumnIsNotNullable,
121     ibxeBlobCannotBeRead,
122     ibxeBlobCannotBeWritten,
123     ibxeBlobNotOpen,
124     ibxeEmptyQuery,
125     ibxeCannotOpenNonSQLSelect,
126     ibxeNoFieldAccess,
127     ibxeFieldReadOnly,
128     ibxeFieldNotFound,
129     ibxeNotEditing,
130     ibxeCannotInsert,
131     ibxeCannotPost,
132     ibxeCannotUpdate,
133     ibxeCannotDelete,
134     ibxeCannotRefresh,
135     ibxeBufferNotSet,
136     ibxeCircularReference,
137     ibxeSQLParseError,
138     ibxeUserAbort,
139     ibxeDataSetUniDirectional,
140     ibxeCannotCreateSharedResource,
141     ibxeWindowsAPIError,
142     ibxeColumnListsDontMatch,
143     ibxeColumnTypesDontMatch,
144     ibxeCantEndSharedTransaction,
145     ibxeFieldUnsupportedType,
146     ibxeCircularDataLink,
147     ibxeEmptySQLStatement,
148     ibxeIsASelectStatement,
149     ibxeRequiredParamNotSet,
150     ibxeNoStoredProcName,
151     ibxeIsAExecuteProcedure,
152     ibxeUpdateFailed,
153     ibxeNotCachedUpdates,
154     ibxeNotLiveRequest,
155     ibxeNoProvider,
156     ibxeNoRecordsAffected,
157     ibxeNoTableName,
158     ibxeCannotCreatePrimaryIndex,
159     ibxeCannotDropSystemIndex,
160     ibxeTableNameMismatch,
161     ibxeIndexFieldMissing,
162     ibxeInvalidCancellation,
163     ibxeInvalidEvent,
164     ibxeMaximumEvents,
165     ibxeNoEventsRegistered,
166     ibxeInvalidQueueing,
167     ibxeInvalidRegistration,
168     ibxeInvalidBatchMove,
169     ibxeSQLDialectInvalid,
170     ibxeSPBConstantNotSupported,
171     ibxeSPBConstantUnknown,
172     ibxeServiceActive,
173     ibxeServiceInActive,
174     ibxeServerNameMissing,
175     ibxeQueryParamsError,
176     ibxeStartParamsError,
177     ibxeOutputParsingError,
178     ibxeUseSpecificProcedures,
179     ibxeSQLMonitorAlreadyPresent,
180     ibxeCantPrintValue,
181     ibxeEOFReached,
182     ibxeEOFInComment,
183     ibxeEOFInString,
184     ibxeParamNameExpected,
185     ibxeSuccess,
186     ibxeDelphiException,
187     ibxeNoOptionsSet,
188     ibxeNoDestinationDirectory,
189     ibxeNosourceDirectory,
190     ibxeNoUninstallFile,
191     ibxeOptionNeedsClient,
192     ibxeOptionNeedsServer,
193     ibxeInvalidOption,
194     ibxeInvalidOnErrorResult,
195     ibxeInvalidOnStatusResult,
196     ibxeDPBConstantUnknownEx,
197     ibxeTPBConstantUnknownEx,
198     ibxeSV5APIError,
199     ibxeThreadFailed,
200     ibxeFieldSizeError,
201     ibxeTransactionNotEnding,
202     ibxeDscInfoTokenMissing,
203     ibxeNoLoginDialog,
204     ibxeEmptyAttachmentsList,
205     ibxeFirebirdLibraryLoaded,
206     ibxeInfoBufferIndexError,
207     ibxeInfoBufferTypeError,
208     ibxeInfoBufferOverflow,
209     ibxServiceRequestIndexError,
210     ibxServiceParamTypeError,
211     ibxeOutputBlockIndexError,
212     ibxeOutputBlockTypeError,
213     ibxePBIndexError,
214     ibxePBParamTypeError,
215     ibxeDuplicateParamName,
216     ibxeInvalidArrayDimensions,
217     ibxeNotAMultiDatabaseTransaction,
218     ibxeAttachmentListIndexError,
219     ibxeNotAnArray,
220     ibxeNotABlob,
221     ibxeInvalidSubscript,
222     ibxeArrayElementOverFlow,
223     ibxArrayBoundsCantIncrease ,
224     ibxeStatementNotPrepared,
225     ibxeInterfaceOutofDate,
226     ibxeUnexpectedDatabaseInfoResp,
227     ibxeInvalidBlobMetaData,
228     ibxeNoDPB,
229     ibxeInEventWait,
230     ibxeIncompatibleBlob,
231     ibxeMissingColumnName,
232     ibxStringTooLong,
233     ibxFieldNotinDataSet,
234     ibxeNotCurrentArray,
235     ibxeNoDefaultCharacterSet,
236     ibxeParamBufferOverflow,
237     ibxeInvalidParamCount,
238     ibxeInvalidVariantType,
239     ibxeServiceRunning
240     );
241    
242     function GetErrorMessage(ErrMess: TIBClientError): string;
243    
244     resourcestring
245     { generic strings used in code }
246     SEOFReached = 'SEOFReached';
247     SEOFInComment = 'EOF in comment detected';
248     SEOFInString = 'EOF in string detected';
249     SParamNameExpected = 'Parameter name expected';
250     SCantPrintValue = 'Cannot print value';
251     SSuccess = 'Successful execution';
252     SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
253     SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
254     sSQLErrorSeparator = ' When Executing: ';
255     SNoDataSet = 'No dataset association';
256     SSQLGenSelect = 'Must select at least one key field and one update field';
257     SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
258     SSQLDataSetOpen = 'Unable to determine field names for %s';
259     SDefaultTransaction = '%s, Default';
260     SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
261     SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
262     STrue = 'true';
263     SFalse = 'false';
264    
265     implementation
266    
267     uses IBUtils;
268    
269     resourcestring
270    
271     { strings used in error messages}
272     SUnknownError = 'Unknown error';
273     SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
274     SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
275     SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
276     SNotSupported = 'Unsupported feature';
277     SNotPermitted = 'Not permitted';
278     SFileAccessError = 'Temporary file access error';
279     SConnectionTimeout = 'Database connection timed out';
280     SCannotSetDatabase = 'Cannot set database';
281     SCannotSetTransaction = 'Cannot set transaction';
282     SOperationCancelled = 'Operation cancelled at user''s request';
283     SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
284     SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
285     STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
286     STPBConstantUnknown = 'TPB Constant (%d) is unknown';
287     SDatabaseClosed = 'Cannot perform operation -- DB is not open';
288     SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
289     SDatabaseNameMissing = 'Database name is missing';
290     SNotInTransaction = 'Transaction is not active';
291     SInTransaction = 'Transaction is active';
292     STimeoutNegative = 'Timeout values cannot be negative';
293     SNoDatabasesInTransaction = 'No databases are listed in transaction component';
294     SUpdateWrongDB = 'Updating wrong database';
295     SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
296     SDatabaseNotAssigned = 'Database not assigned';
297     STransactionNotAssigned = 'Transaction not assigned';
298     SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
299     SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
300     SEOF = 'End of file';
301     SBOF = 'Beginning of file';
302     SInvalidStatementHandle = 'Invalid statement handle';
303     SSQLOpen = 'IBSQL Open';
304     SSQLClosed = 'IBSQL Closed';
305     SDatasetOpen = 'Dataset open';
306     SDatasetClosed = 'Dataset closed';
307     SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
308     SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
309     SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
310     SInvalidDataConversion = 'Invalid data conversion';
311     SColumnIsNotNullable = 'Column cannot be set to null (%s)';
312     SBlobCannotBeRead = 'Blob stream cannot be read';
313     SBlobCannotBeWritten = 'Blob stream cannot be written';
314     SBlobNotOpen = 'The Blob is not open';
315     SEmptyQuery = 'Empty query';
316     SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
317     SNoFieldAccess = 'No access to field "%s"';
318     SFieldReadOnly = 'Field "%s" is read-only';
319     SFieldNotFound = 'Field "%s" not found';
320     SNotEditing = 'Not in edit mode';
321     SCannotInsert = 'Cannot insert into dataset. (No insert query)';
322     SCannotPost = 'Cannot post. (No update/insert query)';
323     SCannotUpdate = 'Cannot update. (No update query)';
324     SCannotDelete = 'Cannot delete from dataset. (No delete query)';
325     SCannotRefresh = 'Cannot refresh row. (No refresh query)';
326     SBufferNotSet = 'Buffer not set';
327     SCircularReference = 'Circular references not permitted';
328     SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
329     SUserAbort = 'User abort';
330     SDataSetUniDirectional = 'Data set is uni-directional';
331     {$IFDEF UNIX}
332     SCannotCreateSharedResource = 'Cannot create shared resource. %s';
333     {$ELSE}
334     SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
335     {$ENDIF}
336     SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
337     SColumnListsDontMatch = 'Column lists do not match';
338     SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
339     SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
340     'to the transaction''s TimeoutAction';
341     SFieldUnsupportedType = 'Unsupported Field Type';
342     SCircularDataLink = 'Circular DataLink Reference';
343     SEmptySQLStatement = 'Empty SQL Statement';
344     SIsASelectStatement = 'use Open for a Select Statement';
345     SRequiredParamNotSet = 'Required parameter "%s" value not set';
346     SNoStoredProcName = 'No Stored Procedure Name assigned';
347     SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
348     SUpdateFailed = 'Update Failed';
349     SNotCachedUpdates = 'CachedUpdates not enabled';
350     SNotLiveRequest = 'Request is not live - cannot modify';
351     SNoProvider = 'No Provider';
352     SNoRecordsAffected = 'No Records Affected';
353     SNoTableName = 'No Table Name assigned';
354     SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
355     SCannotDropSystemIndex = 'Cannot Drop System Index';
356     STableNameMismatch = 'Table Name Mismatch';
357     SIndexFieldMissing = 'Index Field Missing';
358     SInvalidCancellation = 'Cannot Cancel events while processing';
359     SInvalidEvent = 'Invalid Event';
360     SMaximumEvents = 'Exceded Maximum Event limits';
361     SNoEventsRegistered = 'No Events Registered';
362     SInvalidQueueing = 'Invalid Queueing';
363     SInvalidRegistration = 'Invalid Registration';
364     SInvalidBatchMove = 'Invalid Batch Move';
365     SSQLDialectInvalid = 'SQL Dialect Invalid';
366     SSPBConstantNotSupported = 'SPB Constant Not supported';
367     SSPBConstantUnknown = 'SPB Constant Unknown';
368     SServiceActive = 'Cannot perform operation -- service is not attached';
369     SServiceInActive = 'Cannot perform operation -- service is attached';
370     SServerNameMissing = 'Server Name Missing';
371     SQueryParamsError = 'Query Parameters missing or incorrect';
372     SStartParamsError = 'start Parameters missing or incorrect';
373     SOutputParsingError = 'Unexpected Output buffer value (%d)';
374     SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
375     SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
376     SDelphiException = 'DelphiException %s';
377     SNoOptionsSet = 'No Install Options selected';
378     SNoDestinationDirectory = 'DestinationDirectory is not set';
379     SNosourceDirectory = 'SourceDirectory is not set';
380     SNoUninstallFile = 'Uninstall File Name is not set';
381     SOptionNeedsClient = '%s component requires Client to function properly';
382     SOptionNeedsServer = '%s component requires Server to function properly';
383     SInvalidOption = 'Invalid option specified';
384     SInvalidOnErrorResult = 'Unexpected onError return value';
385     SInvalidOnStatusResult = 'Unexpected onStatus return value';
386    
387     SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
388     STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
389     SSV5APIError = 'SV5 API API Error - %s';
390     SThreadFailed = '%s Thread failed with Exception: %s';
391     sFieldSizeError = 'Field %s is too small to receive the data';
392     STransactionNotEnding = 'Transaction is not being completed';
393     SDscInfoTokenMissing = '%s token not found';
394     SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
395     'in your program uses list?';
396     SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
397     SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
398     SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
399     SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
400     SInfoBufferOverflow = 'Info Buffer overlow';
401     SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
402     SServiceParamTypeError = 'Invalid Request for Service Param Type';
403     SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
404     SOutputBlockTypeError = 'Invalid Request for Output Block Type';
405     SPBIndexError = 'DPB Index out of range (%d)';
406     SPBParamTypeError = 'Invalid Request for DPB Param Type';
407     SDuplicateParamName = 'Blob or array parameter name must be unique (%s)';
408     SInvalidArrayDimensions = 'Invalid number of array dimensions {%d)';
409     SNotAMultiDatabaseTransaction = 'This is not a multi-database transaction';
410     SAttachmentListIndexError = 'Attachment List index out of range (%d)';
411     SNotAnArray = 'Table Column must be an array';
412     SNotABlob = 'Table Column must be a Blob';
413     SInvalidSubscript = 'Invalid Subscript (%d) for Array Dimension %d';
414     SArrayElementOverFlow = 'Array Element too big';
415     SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
416     SStatementNotPrepared = 'The Statement has not been prepared';
417     SInterfaceOutofDate = 'This interface is no longer up-to-date';
418     SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
419     SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
420     SNoDPB = 'A DPB must be provided';
421     SInEventWait = 'Already in Event Wait State';
422     SIncompatibleBlob = 'Incompatible Blob SubTypes. %d expected, %d found';
423     SMissingColumnName = 'Relation or Column Name Missing';
424     SStringTooLong = 'String "%s" is too long. Max %d characters';
425     SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
426     SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
427     SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
428     SParamBufferOverflow = 'Parameter Buffer Overflow';
429     SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
430     SInvalidVariantType = 'Invalid variant type';
431     SServiceRunning = 'Cannot start a new service while an existing service is running';
432    
433     const
434     IBErrorMessages: array[TIBClientError] of string = (
435     SUnknownError,
436     SInterBaseMissing,
437     SInterBaseInstallMissing,
438     SIB60feature,
439     SNotSupported,
440     SNotPermitted,
441     SFileAccessError,
442     SConnectionTimeout,
443     SCannotSetDatabase,
444     SCannotSetTransaction,
445     SOperationCancelled,
446     SDPBConstantNotSupported,
447     SDPBConstantUnknown,
448     STPBConstantNotSupported,
449     STPBConstantUnknown,
450     SDatabaseClosed,
451     SDatabaseOpen,
452     SDatabaseNameMissing,
453     SNotInTransaction,
454     SInTransaction,
455     STimeoutNegative,
456     SNoDatabasesInTransaction,
457     SUpdateWrongDB,
458     SUpdateWrongTR,
459     SDatabaseNotAssigned,
460     STransactionNotAssigned,
461     SXSQLDAIndexOutOfRange,
462     SXSQLDANameDoesNotExist,
463     SEOF,
464     SBOF,
465     SInvalidStatementHandle,
466     SSQLOpen,
467     SSQLClosed,
468     SDatasetOpen,
469     SDatasetClosed,
470     SUnknownSQLDataType,
471     SInvalidColumnIndex,
472     SInvalidParamColumnIndex,
473     SInvalidDataConversion,
474     SColumnIsNotNullable,
475     SBlobCannotBeRead,
476     SBlobCannotBeWritten,
477     SBlobNotOpen,
478     SEmptyQuery,
479     SCannotOpenNonSQLSelect,
480     SNoFieldAccess,
481     SFieldReadOnly,
482     SFieldNotFound,
483     SNotEditing,
484     SCannotInsert,
485     SCannotPost,
486     SCannotUpdate,
487     SCannotDelete,
488     SCannotRefresh,
489     SBufferNotSet,
490     SCircularReference,
491     SSQLParseError,
492     SUserAbort,
493     SDataSetUniDirectional,
494     SCannotCreateSharedResource,
495     SWindowsAPIError,
496     SColumnListsDontMatch,
497     SColumnTypesDontMatch,
498     SCantEndSharedTransaction,
499     SFieldUnsupportedType,
500     SCircularDataLink,
501     SEmptySQLStatement,
502     SIsASelectStatement,
503     SRequiredParamNotSet,
504     SNoStoredProcName,
505     SIsAExecuteProcedure,
506     SUpdateFailed,
507     SNotCachedUpdates,
508     SNotLiveRequest,
509     SNoProvider,
510     SNoRecordsAffected,
511     SNoTableName,
512     SCannotCreatePrimaryIndex,
513     SCannotDropSystemIndex,
514     STableNameMismatch,
515     SIndexFieldMissing,
516     SInvalidCancellation,
517     SInvalidEvent,
518     SMaximumEvents,
519     SNoEventsRegistered,
520     SInvalidQueueing,
521     SInvalidRegistration,
522     SInvalidBatchMove,
523     SSQLDialectInvalid,
524     SSPBConstantNotSupported,
525     SSPBConstantUnknown,
526     SServiceActive,
527     SServiceInActive,
528     SServerNameMissing,
529     SQueryParamsError,
530     SStartParamsError,
531     SOutputParsingError,
532     SUseSpecificProcedures,
533     SSQLMonitorAlreadyPresent,
534     SCantPrintValue,
535     SEOFReached,
536     SEOFInComment,
537     SEOFInString,
538     SParamNameExpected,
539     SSuccess,
540     SDelphiException,
541     SNoOptionsSet,
542     SNoDestinationDirectory,
543     SNosourceDirectory,
544     SNoUninstallFile,
545     SOptionNeedsClient,
546     SOptionNeedsServer,
547     SInvalidOption,
548     SInvalidOnErrorResult,
549     SInvalidOnStatusResult,
550     SDPBConstantUnknownEx,
551     STPBConstantUnknownEx,
552     SSV5APIError,
553     SThreadFailed,
554     SFieldSizeError,
555     STransactionNotEnding,
556     SDscInfoTokenMissing,
557     SNoLoginDialog,
558     SEmptyAttachmentsList,
559     SFirebirdLibraryLoaded,
560     SInfoBufferIndexError,
561     SInfoBufferTypeError,
562     SInfoBufferOverflow,
563     SServiceRequestIndexError,
564     SServiceParamTypeError,
565     SOutputBlockIndexError,
566     SOutputBlockTypeError,
567     SPBIndexError,
568     SPBParamTypeError,
569     SDuplicateParamName,
570     SInvalidArrayDimensions,
571     SNotAMultiDatabaseTransaction,
572     SAttachmentListIndexError,
573     SNotAnArray,
574     SNotABlob,
575     SInvalidSubscript,
576     SArrayElementOverFlow,
577     SArrayBoundsCantIncrease,
578     SStatementNotPrepared,
579     SInterfaceOutofDate,
580     SUnexpectedDatabaseInfoResp,
581     SInvalidBlobMetaData,
582     SNoDPB,
583     SInEventWait,
584     SIncompatibleBlob,
585     SMissingColumnName,
586     SStringTooLong,
587     SFieldNotinDataSet,
588     SNotCurrentArray,
589     SNoDefaultCharacterSet,
590     SParamBufferOverflow,
591     SInvalidParamCount,
592     SInvalidVariantType,
593     SServiceRunning
594     );
595    
596     function GetErrorMessage(ErrMess: TIBClientError): string;
597     begin
598     Result := IBErrorMessages[ErrMess];
599     end;
600    
601     end.
602