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