ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/FBMessages.pas
(Generate patch)

Comparing:
ibx/trunk/fbintf/client/FBMessages.pas (file contents), Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
ibx/branches/journaling/fbintf/client/FBMessages.pas (file contents), Revision 362 by tony, Tue Dec 7 13:27:39 2021 UTC

# Line 60 | Line 60
60   {                                                                        }
61   {************************************************************************}
62   unit FBMessages;
63 + {$IFDEF MSWINDOWS}
64 + {$DEFINE WINDOWS}
65 + {$ENDIF}
66  
67   {$IFDEF FPC}
68 < {$mode objfpc}{$H+}
68 > {$mode delphi}
69   {$codepage UTF8}
70   {$ENDIF}
71  
# Line 72 | Line 75 | uses
75    Classes, SysUtils;
76  
77   type
75  TIBDataBaseErrorMessage    = (ShowSQLCode,
76                                  ShowIBMessage,
77                                  ShowSQLMessage);
78
79  TIBDataBaseErrorMessages   = set of TIBDataBaseErrorMessage;
78    TIBClientError            = (
81      ibxeUnknownError,
79        ibxeInterBaseMissing,
83      ibxeInterBaseInstallMissing,
80        ibxeIB60feature,
81        ibxeNotSupported,
82        ibxeNotPermitted,
87      ibxeFileAccessError,
88      ibxeConnectionTimeout,
89      ibxeCannotSetDatabase,
90      ibxeCannotSetTransaction,
91      ibxeOperationCancelled,
92      ibxeDPBConstantNotSupported,
93      ibxeDPBConstantUnknown,
94      ibxeTPBConstantNotSupported,
95      ibxeTPBConstantUnknown,
83        ibxeDatabaseClosed,
97      ibxeDatabaseOpen,
98      ibxeDatabaseNameMissing,
84        ibxeNotInTransaction,
100      ibxeInTransaction,
101      ibxeTimeoutNegative,
102      ibxeNoDatabasesInTransaction,
103      ibxeUpdateWrongDB,
104      ibxeUpdateWrongTR,
105      ibxeDatabaseNotAssigned,
85        ibxeTransactionNotAssigned,
107      ibxeXSQLDAIndexOutOfRange,
108      ibxeXSQLDANameDoesNotExist,
86        ibxeEOF,
87        ibxeBOF,
88        ibxeInvalidStatementHandle,
112      ibxeSQLOpen,
89        ibxeSQLClosed,
114      ibxeDatasetOpen,
115      ibxeDatasetClosed,
90        ibxeUnknownSQLDataType,
91        ibxeInvalidColumnIndex,
118      ibxeInvalidParamColumnIndex,
92        ibxeInvalidDataConversion,
120      ibxeColumnIsNotNullable,
93        ibxeBlobCannotBeRead,
94        ibxeBlobCannotBeWritten,
95        ibxeBlobNotOpen,
96        ibxeEmptyQuery,
125      ibxeCannotOpenNonSQLSelect,
126      ibxeNoFieldAccess,
127      ibxeFieldReadOnly,
97        ibxeFieldNotFound,
129      ibxeNotEditing,
130      ibxeCannotInsert,
131      ibxeCannotPost,
132      ibxeCannotUpdate,
133      ibxeCannotDelete,
134      ibxeCannotRefresh,
135      ibxeBufferNotSet,
136      ibxeCircularReference,
98        ibxeSQLParseError,
138      ibxeUserAbort,
139      ibxeDataSetUniDirectional,
140      ibxeCannotCreateSharedResource,
141      ibxeWindowsAPIError,
142      ibxeColumnListsDontMatch,
143      ibxeColumnTypesDontMatch,
144      ibxeCantEndSharedTransaction,
145      ibxeFieldUnsupportedType,
146      ibxeCircularDataLink,
147      ibxeEmptySQLStatement,
99        ibxeIsASelectStatement,
149      ibxeRequiredParamNotSet,
150      ibxeNoStoredProcName,
100        ibxeIsAExecuteProcedure,
152      ibxeUpdateFailed,
153      ibxeNotCachedUpdates,
154      ibxeNotLiveRequest,
155      ibxeNoProvider,
156      ibxeNoRecordsAffected,
157      ibxeNoTableName,
158      ibxeCannotCreatePrimaryIndex,
159      ibxeCannotDropSystemIndex,
160      ibxeTableNameMismatch,
161      ibxeIndexFieldMissing,
162      ibxeInvalidCancellation,
163      ibxeInvalidEvent,
101        ibxeMaximumEvents,
165      ibxeNoEventsRegistered,
166      ibxeInvalidQueueing,
167      ibxeInvalidRegistration,
168      ibxeInvalidBatchMove,
169      ibxeSQLDialectInvalid,
170      ibxeSPBConstantNotSupported,
171      ibxeSPBConstantUnknown,
102        ibxeServiceActive,
103        ibxeServiceInActive,
104        ibxeServerNameMissing,
175      ibxeQueryParamsError,
176      ibxeStartParamsError,
105        ibxeOutputParsingError,
178      ibxeUseSpecificProcedures,
179      ibxeSQLMonitorAlreadyPresent,
180      ibxeCantPrintValue,
181      ibxeEOFReached,
182      ibxeEOFInComment,
183      ibxeEOFInString,
184      ibxeParamNameExpected,
185      ibxeSuccess,
186      ibxeDelphiException,
187      ibxeNoOptionsSet,
188      ibxeNoDestinationDirectory,
189      ibxeNosourceDirectory,
190      ibxeNoUninstallFile,
191      ibxeOptionNeedsClient,
192      ibxeOptionNeedsServer,
193      ibxeInvalidOption,
194      ibxeInvalidOnErrorResult,
195      ibxeInvalidOnStatusResult,
196      ibxeDPBConstantUnknownEx,
197      ibxeTPBConstantUnknownEx,
198      ibxeSV5APIError,
199      ibxeThreadFailed,
200      ibxeFieldSizeError,
201      ibxeTransactionNotEnding,
202      ibxeDscInfoTokenMissing,
203      ibxeNoLoginDialog,
106        ibxeEmptyAttachmentsList,
205      ibxeFirebirdLibraryLoaded,
206      ibxeInfoBufferIndexError,
107        ibxeInfoBufferTypeError,
208      ibxeInfoBufferOverflow,
108        ibxServiceRequestIndexError,
109        ibxServiceParamTypeError,
110        ibxeOutputBlockIndexError,
# Line 223 | Line 122 | type
122        ibxArrayBoundsCantIncrease ,
123        ibxeStatementNotPrepared,
124        ibxeInterfaceOutofDate,
226      ibxeUnexpectedDatabaseInfoResp,
125        ibxeInvalidBlobMetaData,
126        ibxeNoDPB,
127        ibxeInEventWait,
# Line 231 | Line 129 | type
129        ibxeMissingColumnName,
130        ibxStringTooLong,
131        ibxFieldNotinDataSet,
234      ibxeNotCurrentArray,
132        ibxeNoDefaultCharacterSet,
133        ibxeParamBufferOverflow,
134        ibxeInvalidParamCount,
135        ibxeInvalidVariantType,
136 <      ibxeServiceRunning
136 >      ibxeInterfaceNotSupported,
137 >      ibxeCharacterSetExists,
138 >      ibxeUnknownUserCharSet,
139 >      ibxeUninitializedInputParameter,
140 >      ibxeMultiThreadRequired,
141 >      ibxeTokenQueueOverflow,
142 >      ibxeTokenQueueUnderflow,
143 >      ibxErrorParsing,
144 >      ibxeDLInfoError,
145 >      ibxeDifferentAPIs,
146 >      ibxeInvalidDateTimeStr,
147 >      ibxeBadTimeZoneID,
148 >      ibxeBadBCDConversion,
149 >      ibxeBadTimeZoneName,
150 >      ibxeTimeZoneUnknown,
151 >      ibxeBadTimeSpecification,
152 >      ibxeBCDTooBig,
153 >      ibxeInvalidTimeZoneID,
154 >      ibxeBadTimestampOrNoTimeZoneDBEntry,
155 >      ibxeBCDOverflow,
156 >      ibxeNoTimezoneSupport,
157 >      ibxeDecFloatNotSupported,
158 >      ibxeInt128NotSupported,
159 >      ibxeUnknownParamTypeName,
160 >      ibxInvalidQueryAction,
161 >      ibxeSQLTypeUnchangeable,
162 >      ibxeCannotIncreaseMetadatasize,
163 >      ibxeBatchModeNotSupported,
164 >      ibxeNotInBatchMode,
165 >      ibxeInBatchMode,
166 >      ibxeInvalidBatchQuery,
167 >      ibxeBatchRowBufferOverflow,
168 >      ibxeBatchBufferSizeTooBig,
169 >      ibxeNoScrollableCursors
170        );
171  
172 < function GetErrorMessage(ErrMess: TIBClientError): string;
172 > function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
173 >
174 > {IBError is used internally and by IBX to throw an EIBClientError}
175 >
176 > procedure IBError(ErrMess: TIBClientError; const Args: array of const);
177  
178   resourcestring
179    { generic strings used in code }
246  SEOFReached = 'SEOFReached';
247  SEOFInComment = 'EOF in comment detected';
248  SEOFInString = 'EOF in string detected';
180    SParamNameExpected = 'Parameter name expected';
250  SCantPrintValue = 'Cannot print value';
251  SSuccess = 'Successful execution';
252  SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
253  SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
181    sSQLErrorSeparator = ' When Executing: ';
255  SNoDataSet = 'No dataset association';
256  SSQLGenSelect = 'Must select at least one key field and one update field';
257  SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
258  SSQLDataSetOpen = 'Unable to determine field names for %s';
259  SDefaultTransaction = '%s, Default';
182    SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
261  SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
183    STrue = 'true';
184    SFalse = 'false';
185 +  SArray = '(array)';
186 +  SBatchCompletionError = 'Error Processing update/insert batch on row number %d - ';
187  
188   implementation
189  
190 < uses IBUtils;
190 > uses IBUtils, IB;
191  
192   resourcestring
193  
194   { strings used in error messages}
272  SUnknownError = 'Unknown error';
195    SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
274  SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
196    SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
197    SNotSupported = 'Unsupported feature';
198    SNotPermitted = 'Not permitted';
278  SFileAccessError = 'Temporary file access error';
279  SConnectionTimeout = 'Database connection timed out';
280  SCannotSetDatabase = 'Cannot set database';
281  SCannotSetTransaction = 'Cannot set transaction';
282  SOperationCancelled = 'Operation cancelled at user''s request';
283  SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
284  SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
285  STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
286  STPBConstantUnknown = 'TPB Constant (%d) is unknown';
199    SDatabaseClosed = 'Cannot perform operation -- DB is not open';
288  SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
289  SDatabaseNameMissing = 'Database name is missing';
200    SNotInTransaction = 'Transaction is not active';
291  SInTransaction = 'Transaction is active';
292  STimeoutNegative = 'Timeout values cannot be negative';
293  SNoDatabasesInTransaction = 'No databases are listed in transaction component';
294  SUpdateWrongDB = 'Updating wrong database';
295  SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
296  SDatabaseNotAssigned = 'Database not assigned';
201    STransactionNotAssigned = 'Transaction not assigned';
298  SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
299  SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
202    SEOF = 'End of file';
203    SBOF = 'Beginning of file';
204    SInvalidStatementHandle = 'Invalid statement handle';
303  SSQLOpen = 'IBSQL Open';
205    SSQLClosed = 'IBSQL Closed';
305  SDatasetOpen = 'Dataset open';
306  SDatasetClosed = 'Dataset closed';
206    SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
207    SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
208 <  SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
310 <  SInvalidDataConversion = 'Invalid data conversion';
311 <  SColumnIsNotNullable = 'Column cannot be set to null (%s)';
208 >  SInvalidDataConversion = 'Invalid data conversion from %s';
209    SBlobCannotBeRead = 'Blob stream cannot be read';
210    SBlobCannotBeWritten = 'Blob stream cannot be written';
211    SBlobNotOpen = 'The Blob is not open';
212    SEmptyQuery = 'Empty query';
316  SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
317  SNoFieldAccess = 'No access to field "%s"';
318  SFieldReadOnly = 'Field "%s" is read-only';
213    SFieldNotFound = 'Field "%s" not found';
320  SNotEditing = 'Not in edit mode';
321  SCannotInsert = 'Cannot insert into dataset. (No insert query)';
322  SCannotPost = 'Cannot post. (No update/insert query)';
323  SCannotUpdate = 'Cannot update. (No update query)';
324  SCannotDelete = 'Cannot delete from dataset. (No delete query)';
325  SCannotRefresh = 'Cannot refresh row. (No refresh query)';
326  SBufferNotSet = 'Buffer not set';
327  SCircularReference = 'Circular references not permitted';
214    SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
329  SUserAbort = 'User abort';
330  SDataSetUniDirectional = 'Data set is uni-directional';
331  {$IFDEF UNIX}
332  SCannotCreateSharedResource = 'Cannot create shared resource. %s';
333  {$ELSE}
334  SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
335  {$ENDIF}
336  SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
337  SColumnListsDontMatch = 'Column lists do not match';
338  SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
339  SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
340                             'to the transaction''s TimeoutAction';
341  SFieldUnsupportedType = 'Unsupported Field Type';
342  SCircularDataLink = 'Circular DataLink Reference';
343  SEmptySQLStatement = 'Empty SQL Statement';
215    SIsASelectStatement = 'use Open for a Select Statement';
345  SRequiredParamNotSet = 'Required parameter "%s" value not set';
346  SNoStoredProcName = 'No Stored Procedure Name assigned';
216    SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
348  SUpdateFailed = 'Update Failed';
349  SNotCachedUpdates = 'CachedUpdates not enabled';
350  SNotLiveRequest = 'Request is not live - cannot modify';
351  SNoProvider = 'No Provider';
352  SNoRecordsAffected = 'No Records Affected';
353  SNoTableName = 'No Table Name assigned';
354  SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
355  SCannotDropSystemIndex = 'Cannot Drop System Index';
356  STableNameMismatch = 'Table Name Mismatch';
357  SIndexFieldMissing = 'Index Field Missing';
358  SInvalidCancellation = 'Cannot Cancel events while processing';
359  SInvalidEvent = 'Invalid Event';
217    SMaximumEvents = 'Exceded Maximum Event limits';
361  SNoEventsRegistered = 'No Events Registered';
362  SInvalidQueueing = 'Invalid Queueing';
363  SInvalidRegistration = 'Invalid Registration';
364  SInvalidBatchMove = 'Invalid Batch Move';
365  SSQLDialectInvalid = 'SQL Dialect Invalid';
366  SSPBConstantNotSupported = 'SPB Constant Not supported';
367  SSPBConstantUnknown = 'SPB Constant Unknown';
218    SServiceActive = 'Cannot perform operation -- service is not attached';
219    SServiceInActive = 'Cannot perform operation -- service is attached';
220    SServerNameMissing = 'Server Name Missing';
221 <  SQueryParamsError = 'Query Parameters missing or incorrect';
372 <  SStartParamsError = 'start Parameters missing or incorrect';
373 <  SOutputParsingError = 'Unexpected Output buffer value (%d)';
374 <  SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
375 <  SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
376 <  SDelphiException = 'DelphiException %s';
377 <  SNoOptionsSet = 'No Install Options selected';
378 <  SNoDestinationDirectory = 'DestinationDirectory is not set';
379 <  SNosourceDirectory = 'SourceDirectory is not set';
380 <  SNoUninstallFile = 'Uninstall File Name is not set';
381 <  SOptionNeedsClient = '%s component requires Client to function properly';
382 <  SOptionNeedsServer = '%s component requires Server to function properly';
383 <  SInvalidOption = 'Invalid option specified';
384 <  SInvalidOnErrorResult = 'Unexpected onError return value';
385 <  SInvalidOnStatusResult = 'Unexpected onStatus return value';
386 <
387 <  SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
388 <  STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
389 <  SSV5APIError = 'SV5 API API Error - %s';
390 <  SThreadFailed = '%s Thread failed with Exception: %s';
391 <  sFieldSizeError = 'Field %s is too small to receive the data';
392 <  STransactionNotEnding = 'Transaction is not being completed';
393 <  SDscInfoTokenMissing = '%s token not found';
394 <  SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
395 <                   'in your program uses list?';
221 >  SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
222    SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
397  SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
398  SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
223    SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
400  SInfoBufferOverflow = 'Info Buffer overlow';
224    SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
225    SServiceParamTypeError = 'Invalid Request for Service Param Type';
226    SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
# Line 405 | Line 228 | resourcestring
228    SPBIndexError = 'DPB Index out of range (%d)';
229    SPBParamTypeError = 'Invalid Request for DPB Param Type';
230    SDuplicateParamName = 'Blob or array parameter name must be unique (%s)';
231 <  SInvalidArrayDimensions = 'Invalid number of array dimensions {%d)';
231 >  SInvalidArrayDimensions = 'Invalid number of array dimensions (%d)';
232    SNotAMultiDatabaseTransaction = 'This is not a multi-database transaction';
233    SAttachmentListIndexError = 'Attachment List index out of range (%d)';
234    SNotAnArray = 'Table Column must be an array';
# Line 415 | Line 238 | resourcestring
238    SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
239    SStatementNotPrepared = 'The Statement has not been prepared';
240    SInterfaceOutofDate = 'This interface is no longer up-to-date';
418  SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
241    SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
242    SNoDPB = 'A DPB must be provided';
243    SInEventWait = 'Already in Event Wait State';
# Line 423 | Line 245 | resourcestring
245    SMissingColumnName = 'Relation or Column Name Missing';
246    SStringTooLong = 'String "%s" is too long. Max %d characters';
247    SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
426  SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
248    SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
249    SParamBufferOverflow = 'Parameter Buffer Overflow';
250    SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
251    SInvalidVariantType = 'Invalid variant type';
252 <  SServiceRunning = 'Cannot start a new service while an existing service is running';
252 >  SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
253 >  SCharacterSetExists = 'Character set "%s" is already defined';
254 >  SUnknownUserCharSet = 'Unknown user character set "%s"';
255 >  SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
256 >  SMultiThreadRequired = 'Multi-threading required for %s but not enabled. Please recompile with multi-threading support enabled. '+
257 >                         'Hint: you probably need to add -dUseCThreads to the Custom Options.';
258 >  STokenQueueOverflow = 'Error in SQL Token Analyser - token queue overflow';
259 >  STokenQueueUnderflow = 'Error in SQL Token Analyser - token queue underflow';
260 >  SErrorParsing = 'Error parsing SQL Statement at clause starting with %s';
261 >  SDLInfoError = 'dlinfo returned error - %s';
262 >  SDifferentAPIs = 'All transaction attachments must use the same Firebird Library';
263 >  SInvalidDateTimeStr = '%s is not a valid Date/Time string';
264 >  SBadTimeZoneID = 'Invalid Time Zone ID (%d,%d)';
265 >  SBadBCDConversion = 'Conversion to BCD failed';
266 >  SBadTimeZoneName = 'Invalid Time Zone Name "%s"';
267 >  STimeZoneUnknown = 'Time Zone Unknown';
268 >  SBadTimeSpecification = '%d:%d:%d.%d is not a valid time specification';
269 >  SBCDTooBig = 'BCD Precision (%d) is too large for Firebird Data Type max precision (%d)';
270 >  SInvalidTimeZoneID = 'Invalid Time Zone ID (%d)';
271 >  SBadTimestampOrNoTimeZoneDBEntry = 'Bad Timestamp or missing time zone DB entry (%s) TZ ID = %d';
272 >  SBCDOverflow = 'BCD Precision too large for Firebird data type,[%s]';
273 >  SNoTimezoneSupport = 'TIME/TIMESTAMP WITH TIME ZONE data type not supported';
274 >  SDecFloatNotSupported = 'DecFloat Data Type not supported';
275 >  SInt128NotSupported = 'INT128 Data Type not supported';
276 >  SUnknownParamTypeName = '%s:Unknown Param Type Name "%s"';
277 >  SInvalidQueryAction = 'Query Action only valid for an Update or Insert Query';
278 >  SSQLTypeUnchangeable = 'Cannot change SQL Type from %s to %s';
279 >  SCannotIncreaseMetadatasize = 'Cannot increase Metadata size from %d to %d';
280 >  SBatchModeNotSupported = 'Batch Mode is not available. Firebird 4 or later client and server is required';
281 >  SNotInBatchMode = 'Not in Batch Mode - have you called AddToBatch?';
282 >  SInBatchMode = 'Invalid Operation: a Batch is pending';
283 >  SInvalidBatchQuery = 'This query type (%s) cannot be batched';
284 >  SBatchRowBufferOverflow = 'Adding Row No. %d - batch buffer size limit (%d bytes) exceeded';
285 >  SBatchBufferSizeTooBig = 'Requested Batch Buffer Size (%d bytes) exceeds 256MB limit';
286 >  SNoScrollableCursors = 'Scrollable cursors are not supported';
287  
288   const
289    IBErrorMessages: array[TIBClientError] of string = (
435    SUnknownError,
290      SInterBaseMissing,
437    SInterBaseInstallMissing,
291      SIB60feature,
292      SNotSupported,
293      SNotPermitted,
441    SFileAccessError,
442    SConnectionTimeout,
443    SCannotSetDatabase,
444    SCannotSetTransaction,
445    SOperationCancelled,
446    SDPBConstantNotSupported,
447    SDPBConstantUnknown,
448    STPBConstantNotSupported,
449    STPBConstantUnknown,
294      SDatabaseClosed,
451    SDatabaseOpen,
452    SDatabaseNameMissing,
295      SNotInTransaction,
454    SInTransaction,
455    STimeoutNegative,
456    SNoDatabasesInTransaction,
457    SUpdateWrongDB,
458    SUpdateWrongTR,
459    SDatabaseNotAssigned,
296      STransactionNotAssigned,
461    SXSQLDAIndexOutOfRange,
462    SXSQLDANameDoesNotExist,
297      SEOF,
298      SBOF,
299      SInvalidStatementHandle,
466    SSQLOpen,
300      SSQLClosed,
468    SDatasetOpen,
469    SDatasetClosed,
301      SUnknownSQLDataType,
302      SInvalidColumnIndex,
472    SInvalidParamColumnIndex,
303      SInvalidDataConversion,
474    SColumnIsNotNullable,
304      SBlobCannotBeRead,
305      SBlobCannotBeWritten,
306      SBlobNotOpen,
307      SEmptyQuery,
479    SCannotOpenNonSQLSelect,
480    SNoFieldAccess,
481    SFieldReadOnly,
308      SFieldNotFound,
483    SNotEditing,
484    SCannotInsert,
485    SCannotPost,
486    SCannotUpdate,
487    SCannotDelete,
488    SCannotRefresh,
489    SBufferNotSet,
490    SCircularReference,
309      SSQLParseError,
492    SUserAbort,
493    SDataSetUniDirectional,
494    SCannotCreateSharedResource,
495    SWindowsAPIError,
496    SColumnListsDontMatch,
497    SColumnTypesDontMatch,
498    SCantEndSharedTransaction,
499    SFieldUnsupportedType,
500    SCircularDataLink,
501    SEmptySQLStatement,
310      SIsASelectStatement,
503    SRequiredParamNotSet,
504    SNoStoredProcName,
311      SIsAExecuteProcedure,
506    SUpdateFailed,
507    SNotCachedUpdates,
508    SNotLiveRequest,
509    SNoProvider,
510    SNoRecordsAffected,
511    SNoTableName,
512    SCannotCreatePrimaryIndex,
513    SCannotDropSystemIndex,
514    STableNameMismatch,
515    SIndexFieldMissing,
516    SInvalidCancellation,
517    SInvalidEvent,
312      SMaximumEvents,
519    SNoEventsRegistered,
520    SInvalidQueueing,
521    SInvalidRegistration,
522    SInvalidBatchMove,
523    SSQLDialectInvalid,
524    SSPBConstantNotSupported,
525    SSPBConstantUnknown,
313      SServiceActive,
314      SServiceInActive,
315      SServerNameMissing,
529    SQueryParamsError,
530    SStartParamsError,
316      SOutputParsingError,
532    SUseSpecificProcedures,
533    SSQLMonitorAlreadyPresent,
534    SCantPrintValue,
535    SEOFReached,
536    SEOFInComment,
537    SEOFInString,
538    SParamNameExpected,
539    SSuccess,
540    SDelphiException,
541    SNoOptionsSet,
542    SNoDestinationDirectory,
543    SNosourceDirectory,
544    SNoUninstallFile,
545    SOptionNeedsClient,
546    SOptionNeedsServer,
547    SInvalidOption,
548    SInvalidOnErrorResult,
549    SInvalidOnStatusResult,
550    SDPBConstantUnknownEx,
551    STPBConstantUnknownEx,
552    SSV5APIError,
553    SThreadFailed,
554    SFieldSizeError,
555    STransactionNotEnding,
556    SDscInfoTokenMissing,
557    SNoLoginDialog,
317      SEmptyAttachmentsList,
559    SFirebirdLibraryLoaded,
560    SInfoBufferIndexError,
318      SInfoBufferTypeError,
562    SInfoBufferOverflow,
319      SServiceRequestIndexError,
320      SServiceParamTypeError,
321      SOutputBlockIndexError,
# Line 577 | Line 333 | const
333      SArrayBoundsCantIncrease,
334      SStatementNotPrepared,
335      SInterfaceOutofDate,
580    SUnexpectedDatabaseInfoResp,
336      SInvalidBlobMetaData,
337      SNoDPB,
338      SInEventWait,
# Line 585 | Line 340 | const
340      SMissingColumnName,
341      SStringTooLong,
342      SFieldNotinDataSet,
588    SNotCurrentArray,
343      SNoDefaultCharacterSet,
344      SParamBufferOverflow,
345      SInvalidParamCount,
346      SInvalidVariantType,
347 <    SServiceRunning
347 >    SInterfaceNotSupported,
348 >    SCharacterSetExists,
349 >    SUnknownUserCharSet,
350 >    SUninitializedInputParameter,
351 >    SMultiThreadRequired,
352 >    STokenQueueOverflow,
353 >    STokenQueueUnderflow,
354 >    SErrorParsing,
355 >    SDLInfoError,
356 >    SDifferentAPIs,
357 >    SInvalidDateTimeStr,
358 >    SBadTimeZoneID,
359 >    SBadBCDConversion,
360 >    SBadTimeZoneName,
361 >    STimeZoneUnknown,
362 >    SBadTimeSpecification,
363 >    SBCDTooBig,
364 >    SInvalidTimeZoneID,
365 >    SBadTimestampOrNoTimeZoneDBEntry,
366 >    SBCDOverflow,
367 >    SNoTimezoneSupport,
368 >    SDecFloatNotSupported,
369 >    SInt128NotSupported,
370 >    SUnknownParamTypeName,
371 >    SInvalidQueryAction,
372 >    SSQLTypeUnchangeable,
373 >    SCannotIncreaseMetadatasize,
374 >    SBatchModeNotSupported,
375 >    SNotInBatchMode,
376 >    SInBatchMode,
377 >    SInvalidBatchQuery,
378 >    SBatchRowBufferOverflow,
379 >    SBatchBufferSizeTooBig,
380 >    SNoScrollableCursors
381    );
382  
383 < function GetErrorMessage(ErrMess: TIBClientError): string;
383 > function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
384   begin
385    Result := IBErrorMessages[ErrMess];
386   end;
387  
388 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
389 + begin
390 +  raise EIBClientError.Create(Ord(ErrMess),
391 +                              Format(GetErrorMessage(ErrMess), Args));
392 + end;
393 +
394 +
395   end.
396  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines