ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/client/FBMessages.pas
Revision: 263
Committed: Thu Dec 6 15:55:01 2018 UTC (5 years, 3 months ago) by tony
Content type: text/x-pascal
File size: 25750 byte(s)
Log Message:
Release 2.3.2 committed

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