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