ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/client/FBMessages.pas
Revision: 47
Committed: Mon Jan 9 15:31:51 2017 UTC (7 years, 3 months ago) by tony
Content type: text/x-pascal
File size: 23099 byte(s)
Log Message:
Committing updates for Release R2-0-1

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 tony 47 ibxeServiceRunning,
240     ibxeUniqueRelationReqd
241 tony 45 );
242    
243     function GetErrorMessage(ErrMess: TIBClientError): string;
244    
245     resourcestring
246     { generic strings used in code }
247     SEOFReached = 'SEOFReached';
248     SEOFInComment = 'EOF in comment detected';
249     SEOFInString = 'EOF in string detected';
250     SParamNameExpected = 'Parameter name expected';
251     SCantPrintValue = 'Cannot print value';
252     SSuccess = 'Successful execution';
253     SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
254     SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
255     sSQLErrorSeparator = ' When Executing: ';
256     SNoDataSet = 'No dataset association';
257     SSQLGenSelect = 'Must select at least one key field and one update field';
258     SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
259     SSQLDataSetOpen = 'Unable to determine field names for %s';
260     SDefaultTransaction = '%s, Default';
261     SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
262     SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
263     STrue = 'true';
264     SFalse = 'false';
265 tony 47 SArray = '(array)';
266     SBlob = '(blob)';
267 tony 45
268     implementation
269    
270     uses IBUtils;
271    
272     resourcestring
273    
274     { strings used in error messages}
275     SUnknownError = 'Unknown error';
276     SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
277     SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
278     SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
279     SNotSupported = 'Unsupported feature';
280     SNotPermitted = 'Not permitted';
281     SFileAccessError = 'Temporary file access error';
282     SConnectionTimeout = 'Database connection timed out';
283     SCannotSetDatabase = 'Cannot set database';
284     SCannotSetTransaction = 'Cannot set transaction';
285     SOperationCancelled = 'Operation cancelled at user''s request';
286     SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
287     SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
288     STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
289     STPBConstantUnknown = 'TPB Constant (%d) is unknown';
290     SDatabaseClosed = 'Cannot perform operation -- DB is not open';
291     SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
292     SDatabaseNameMissing = 'Database name is missing';
293     SNotInTransaction = 'Transaction is not active';
294     SInTransaction = 'Transaction is active';
295     STimeoutNegative = 'Timeout values cannot be negative';
296     SNoDatabasesInTransaction = 'No databases are listed in transaction component';
297     SUpdateWrongDB = 'Updating wrong database';
298     SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
299     SDatabaseNotAssigned = 'Database not assigned';
300     STransactionNotAssigned = 'Transaction not assigned';
301     SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
302     SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
303     SEOF = 'End of file';
304     SBOF = 'Beginning of file';
305     SInvalidStatementHandle = 'Invalid statement handle';
306     SSQLOpen = 'IBSQL Open';
307     SSQLClosed = 'IBSQL Closed';
308     SDatasetOpen = 'Dataset open';
309     SDatasetClosed = 'Dataset closed';
310     SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
311     SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
312     SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
313     SInvalidDataConversion = 'Invalid data conversion';
314     SColumnIsNotNullable = 'Column cannot be set to null (%s)';
315     SBlobCannotBeRead = 'Blob stream cannot be read';
316     SBlobCannotBeWritten = 'Blob stream cannot be written';
317     SBlobNotOpen = 'The Blob is not open';
318     SEmptyQuery = 'Empty query';
319     SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
320     SNoFieldAccess = 'No access to field "%s"';
321     SFieldReadOnly = 'Field "%s" is read-only';
322     SFieldNotFound = 'Field "%s" not found';
323     SNotEditing = 'Not in edit mode';
324     SCannotInsert = 'Cannot insert into dataset. (No insert query)';
325     SCannotPost = 'Cannot post. (No update/insert query)';
326     SCannotUpdate = 'Cannot update. (No update query)';
327     SCannotDelete = 'Cannot delete from dataset. (No delete query)';
328     SCannotRefresh = 'Cannot refresh row. (No refresh query)';
329     SBufferNotSet = 'Buffer not set';
330     SCircularReference = 'Circular references not permitted';
331     SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
332     SUserAbort = 'User abort';
333     SDataSetUniDirectional = 'Data set is uni-directional';
334     {$IFDEF UNIX}
335     SCannotCreateSharedResource = 'Cannot create shared resource. %s';
336     {$ELSE}
337     SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
338     {$ENDIF}
339     SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
340     SColumnListsDontMatch = 'Column lists do not match';
341     SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
342     SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
343     'to the transaction''s TimeoutAction';
344     SFieldUnsupportedType = 'Unsupported Field Type';
345     SCircularDataLink = 'Circular DataLink Reference';
346     SEmptySQLStatement = 'Empty SQL Statement';
347     SIsASelectStatement = 'use Open for a Select Statement';
348     SRequiredParamNotSet = 'Required parameter "%s" value not set';
349     SNoStoredProcName = 'No Stored Procedure Name assigned';
350     SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
351     SUpdateFailed = 'Update Failed';
352     SNotCachedUpdates = 'CachedUpdates not enabled';
353     SNotLiveRequest = 'Request is not live - cannot modify';
354     SNoProvider = 'No Provider';
355     SNoRecordsAffected = 'No Records Affected';
356     SNoTableName = 'No Table Name assigned';
357     SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
358     SCannotDropSystemIndex = 'Cannot Drop System Index';
359     STableNameMismatch = 'Table Name Mismatch';
360     SIndexFieldMissing = 'Index Field Missing';
361     SInvalidCancellation = 'Cannot Cancel events while processing';
362     SInvalidEvent = 'Invalid Event';
363     SMaximumEvents = 'Exceded Maximum Event limits';
364     SNoEventsRegistered = 'No Events Registered';
365     SInvalidQueueing = 'Invalid Queueing';
366     SInvalidRegistration = 'Invalid Registration';
367     SInvalidBatchMove = 'Invalid Batch Move';
368     SSQLDialectInvalid = 'SQL Dialect Invalid';
369     SSPBConstantNotSupported = 'SPB Constant Not supported';
370     SSPBConstantUnknown = 'SPB Constant Unknown';
371     SServiceActive = 'Cannot perform operation -- service is not attached';
372     SServiceInActive = 'Cannot perform operation -- service is attached';
373     SServerNameMissing = 'Server Name Missing';
374     SQueryParamsError = 'Query Parameters missing or incorrect';
375     SStartParamsError = 'start Parameters missing or incorrect';
376     SOutputParsingError = 'Unexpected Output buffer value (%d)';
377     SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
378     SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
379     SDelphiException = 'DelphiException %s';
380     SNoOptionsSet = 'No Install Options selected';
381     SNoDestinationDirectory = 'DestinationDirectory is not set';
382     SNosourceDirectory = 'SourceDirectory is not set';
383     SNoUninstallFile = 'Uninstall File Name is not set';
384     SOptionNeedsClient = '%s component requires Client to function properly';
385     SOptionNeedsServer = '%s component requires Server to function properly';
386     SInvalidOption = 'Invalid option specified';
387     SInvalidOnErrorResult = 'Unexpected onError return value';
388     SInvalidOnStatusResult = 'Unexpected onStatus return value';
389    
390     SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
391     STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
392     SSV5APIError = 'SV5 API API Error - %s';
393     SThreadFailed = '%s Thread failed with Exception: %s';
394     sFieldSizeError = 'Field %s is too small to receive the data';
395     STransactionNotEnding = 'Transaction is not being completed';
396     SDscInfoTokenMissing = '%s token not found';
397     SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
398     'in your program uses list?';
399     SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
400     SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
401     SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
402     SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
403     SInfoBufferOverflow = 'Info Buffer overlow';
404     SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
405     SServiceParamTypeError = 'Invalid Request for Service Param Type';
406     SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
407     SOutputBlockTypeError = 'Invalid Request for Output Block Type';
408     SPBIndexError = 'DPB Index out of range (%d)';
409     SPBParamTypeError = 'Invalid Request for DPB Param Type';
410     SDuplicateParamName = 'Blob or array parameter name must be unique (%s)';
411 tony 47 SInvalidArrayDimensions = 'Invalid number of array dimensions (%d)';
412 tony 45 SNotAMultiDatabaseTransaction = 'This is not a multi-database transaction';
413     SAttachmentListIndexError = 'Attachment List index out of range (%d)';
414     SNotAnArray = 'Table Column must be an array';
415     SNotABlob = 'Table Column must be a Blob';
416     SInvalidSubscript = 'Invalid Subscript (%d) for Array Dimension %d';
417     SArrayElementOverFlow = 'Array Element too big';
418     SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
419     SStatementNotPrepared = 'The Statement has not been prepared';
420     SInterfaceOutofDate = 'This interface is no longer up-to-date';
421     SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
422     SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
423     SNoDPB = 'A DPB must be provided';
424     SInEventWait = 'Already in Event Wait State';
425     SIncompatibleBlob = 'Incompatible Blob SubTypes. %d expected, %d found';
426     SMissingColumnName = 'Relation or Column Name Missing';
427     SStringTooLong = 'String "%s" is too long. Max %d characters';
428     SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
429     SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
430     SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
431     SParamBufferOverflow = 'Parameter Buffer Overflow';
432     SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
433     SInvalidVariantType = 'Invalid variant type';
434     SServiceRunning = 'Cannot start a new service while an existing service is running';
435 tony 47 SUniqueRelationReqd = 'All Output Fields must derived from the same table';
436 tony 45
437     const
438     IBErrorMessages: array[TIBClientError] of string = (
439     SUnknownError,
440     SInterBaseMissing,
441     SInterBaseInstallMissing,
442     SIB60feature,
443     SNotSupported,
444     SNotPermitted,
445     SFileAccessError,
446     SConnectionTimeout,
447     SCannotSetDatabase,
448     SCannotSetTransaction,
449     SOperationCancelled,
450     SDPBConstantNotSupported,
451     SDPBConstantUnknown,
452     STPBConstantNotSupported,
453     STPBConstantUnknown,
454     SDatabaseClosed,
455     SDatabaseOpen,
456     SDatabaseNameMissing,
457     SNotInTransaction,
458     SInTransaction,
459     STimeoutNegative,
460     SNoDatabasesInTransaction,
461     SUpdateWrongDB,
462     SUpdateWrongTR,
463     SDatabaseNotAssigned,
464     STransactionNotAssigned,
465     SXSQLDAIndexOutOfRange,
466     SXSQLDANameDoesNotExist,
467     SEOF,
468     SBOF,
469     SInvalidStatementHandle,
470     SSQLOpen,
471     SSQLClosed,
472     SDatasetOpen,
473     SDatasetClosed,
474     SUnknownSQLDataType,
475     SInvalidColumnIndex,
476     SInvalidParamColumnIndex,
477     SInvalidDataConversion,
478     SColumnIsNotNullable,
479     SBlobCannotBeRead,
480     SBlobCannotBeWritten,
481     SBlobNotOpen,
482     SEmptyQuery,
483     SCannotOpenNonSQLSelect,
484     SNoFieldAccess,
485     SFieldReadOnly,
486     SFieldNotFound,
487     SNotEditing,
488     SCannotInsert,
489     SCannotPost,
490     SCannotUpdate,
491     SCannotDelete,
492     SCannotRefresh,
493     SBufferNotSet,
494     SCircularReference,
495     SSQLParseError,
496     SUserAbort,
497     SDataSetUniDirectional,
498     SCannotCreateSharedResource,
499     SWindowsAPIError,
500     SColumnListsDontMatch,
501     SColumnTypesDontMatch,
502     SCantEndSharedTransaction,
503     SFieldUnsupportedType,
504     SCircularDataLink,
505     SEmptySQLStatement,
506     SIsASelectStatement,
507     SRequiredParamNotSet,
508     SNoStoredProcName,
509     SIsAExecuteProcedure,
510     SUpdateFailed,
511     SNotCachedUpdates,
512     SNotLiveRequest,
513     SNoProvider,
514     SNoRecordsAffected,
515     SNoTableName,
516     SCannotCreatePrimaryIndex,
517     SCannotDropSystemIndex,
518     STableNameMismatch,
519     SIndexFieldMissing,
520     SInvalidCancellation,
521     SInvalidEvent,
522     SMaximumEvents,
523     SNoEventsRegistered,
524     SInvalidQueueing,
525     SInvalidRegistration,
526     SInvalidBatchMove,
527     SSQLDialectInvalid,
528     SSPBConstantNotSupported,
529     SSPBConstantUnknown,
530     SServiceActive,
531     SServiceInActive,
532     SServerNameMissing,
533     SQueryParamsError,
534     SStartParamsError,
535     SOutputParsingError,
536     SUseSpecificProcedures,
537     SSQLMonitorAlreadyPresent,
538     SCantPrintValue,
539     SEOFReached,
540     SEOFInComment,
541     SEOFInString,
542     SParamNameExpected,
543     SSuccess,
544     SDelphiException,
545     SNoOptionsSet,
546     SNoDestinationDirectory,
547     SNosourceDirectory,
548     SNoUninstallFile,
549     SOptionNeedsClient,
550     SOptionNeedsServer,
551     SInvalidOption,
552     SInvalidOnErrorResult,
553     SInvalidOnStatusResult,
554     SDPBConstantUnknownEx,
555     STPBConstantUnknownEx,
556     SSV5APIError,
557     SThreadFailed,
558     SFieldSizeError,
559     STransactionNotEnding,
560     SDscInfoTokenMissing,
561     SNoLoginDialog,
562     SEmptyAttachmentsList,
563     SFirebirdLibraryLoaded,
564     SInfoBufferIndexError,
565     SInfoBufferTypeError,
566     SInfoBufferOverflow,
567     SServiceRequestIndexError,
568     SServiceParamTypeError,
569     SOutputBlockIndexError,
570     SOutputBlockTypeError,
571     SPBIndexError,
572     SPBParamTypeError,
573     SDuplicateParamName,
574     SInvalidArrayDimensions,
575     SNotAMultiDatabaseTransaction,
576     SAttachmentListIndexError,
577     SNotAnArray,
578     SNotABlob,
579     SInvalidSubscript,
580     SArrayElementOverFlow,
581     SArrayBoundsCantIncrease,
582     SStatementNotPrepared,
583     SInterfaceOutofDate,
584     SUnexpectedDatabaseInfoResp,
585     SInvalidBlobMetaData,
586     SNoDPB,
587     SInEventWait,
588     SIncompatibleBlob,
589     SMissingColumnName,
590     SStringTooLong,
591     SFieldNotinDataSet,
592     SNotCurrentArray,
593     SNoDefaultCharacterSet,
594     SParamBufferOverflow,
595     SInvalidParamCount,
596     SInvalidVariantType,
597 tony 47 SServiceRunning,
598     SUniqueRelationReqd
599 tony 45 );
600    
601     function GetErrorMessage(ErrMess: TIBClientError): string;
602     begin
603     Result := IBErrorMessages[ErrMess];
604     end;
605    
606     end.
607