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