ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/client/FBMessages.pas
Revision: 143
Committed: Fri Feb 23 12:11:21 2018 UTC (6 years, 2 months ago) by tony
Content type: text/x-pascal
File size: 23901 byte(s)
Log Message:
Fixes Merged

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