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 47 by tony, Mon Jan 9 15:31:51 2017 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,
137 <      ibxeUniqueRelationReqd
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 }
247  SEOFReached = 'SEOFReached';
248  SEOFInComment = 'EOF in comment detected';
249  SEOFInString = 'EOF in string detected';
180    SParamNameExpected = 'Parameter name expected';
251  SCantPrintValue = 'Cannot print value';
252  SSuccess = 'Successful execution';
253  SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
254  SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
181    sSQLErrorSeparator = ' When Executing: ';
256  SNoDataSet = 'No dataset association';
257  SSQLGenSelect = 'Must select at least one key field and one update field';
258  SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
259  SSQLDataSetOpen = 'Unable to determine field names for %s';
260  SDefaultTransaction = '%s, Default';
182    SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
262  SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
183    STrue = 'true';
184    SFalse = 'false';
185    SArray = '(array)';
186 <  SBlob = '(blob)';
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}
275  SUnknownError = 'Unknown error';
195    SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
277  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';
281  SFileAccessError = 'Temporary file access error';
282  SConnectionTimeout = 'Database connection timed out';
283  SCannotSetDatabase = 'Cannot set database';
284  SCannotSetTransaction = 'Cannot set transaction';
285  SOperationCancelled = 'Operation cancelled at user''s request';
286  SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
287  SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
288  STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
289  STPBConstantUnknown = 'TPB Constant (%d) is unknown';
199    SDatabaseClosed = 'Cannot perform operation -- DB is not open';
291  SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
292  SDatabaseNameMissing = 'Database name is missing';
200    SNotInTransaction = 'Transaction is not active';
294  SInTransaction = 'Transaction is active';
295  STimeoutNegative = 'Timeout values cannot be negative';
296  SNoDatabasesInTransaction = 'No databases are listed in transaction component';
297  SUpdateWrongDB = 'Updating wrong database';
298  SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
299  SDatabaseNotAssigned = 'Database not assigned';
201    STransactionNotAssigned = 'Transaction not assigned';
301  SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
302  SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
202    SEOF = 'End of file';
203    SBOF = 'Beginning of file';
204    SInvalidStatementHandle = 'Invalid statement handle';
306  SSQLOpen = 'IBSQL Open';
205    SSQLClosed = 'IBSQL Closed';
308  SDatasetOpen = 'Dataset open';
309  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)';
313 <  SInvalidDataConversion = 'Invalid data conversion';
314 <  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';
319  SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
320  SNoFieldAccess = 'No access to field "%s"';
321  SFieldReadOnly = 'Field "%s" is read-only';
213    SFieldNotFound = 'Field "%s" not found';
323  SNotEditing = 'Not in edit mode';
324  SCannotInsert = 'Cannot insert into dataset. (No insert query)';
325  SCannotPost = 'Cannot post. (No update/insert query)';
326  SCannotUpdate = 'Cannot update. (No update query)';
327  SCannotDelete = 'Cannot delete from dataset. (No delete query)';
328  SCannotRefresh = 'Cannot refresh row. (No refresh query)';
329  SBufferNotSet = 'Buffer not set';
330  SCircularReference = 'Circular references not permitted';
214    SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
332  SUserAbort = 'User abort';
333  SDataSetUniDirectional = 'Data set is uni-directional';
334  {$IFDEF UNIX}
335  SCannotCreateSharedResource = 'Cannot create shared resource. %s';
336  {$ELSE}
337  SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
338  {$ENDIF}
339  SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
340  SColumnListsDontMatch = 'Column lists do not match';
341  SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
342  SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
343                             'to the transaction''s TimeoutAction';
344  SFieldUnsupportedType = 'Unsupported Field Type';
345  SCircularDataLink = 'Circular DataLink Reference';
346  SEmptySQLStatement = 'Empty SQL Statement';
215    SIsASelectStatement = 'use Open for a Select Statement';
348  SRequiredParamNotSet = 'Required parameter "%s" value not set';
349  SNoStoredProcName = 'No Stored Procedure Name assigned';
216    SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
351  SUpdateFailed = 'Update Failed';
352  SNotCachedUpdates = 'CachedUpdates not enabled';
353  SNotLiveRequest = 'Request is not live - cannot modify';
354  SNoProvider = 'No Provider';
355  SNoRecordsAffected = 'No Records Affected';
356  SNoTableName = 'No Table Name assigned';
357  SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
358  SCannotDropSystemIndex = 'Cannot Drop System Index';
359  STableNameMismatch = 'Table Name Mismatch';
360  SIndexFieldMissing = 'Index Field Missing';
361  SInvalidCancellation = 'Cannot Cancel events while processing';
362  SInvalidEvent = 'Invalid Event';
217    SMaximumEvents = 'Exceded Maximum Event limits';
364  SNoEventsRegistered = 'No Events Registered';
365  SInvalidQueueing = 'Invalid Queueing';
366  SInvalidRegistration = 'Invalid Registration';
367  SInvalidBatchMove = 'Invalid Batch Move';
368  SSQLDialectInvalid = 'SQL Dialect Invalid';
369  SSPBConstantNotSupported = 'SPB Constant Not supported';
370  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';
375 <  SStartParamsError = 'start Parameters missing or incorrect';
376 <  SOutputParsingError = 'Unexpected Output buffer value (%d)';
377 <  SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
378 <  SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
379 <  SDelphiException = 'DelphiException %s';
380 <  SNoOptionsSet = 'No Install Options selected';
381 <  SNoDestinationDirectory = 'DestinationDirectory is not set';
382 <  SNosourceDirectory = 'SourceDirectory is not set';
383 <  SNoUninstallFile = 'Uninstall File Name is not set';
384 <  SOptionNeedsClient = '%s component requires Client to function properly';
385 <  SOptionNeedsServer = '%s component requires Server to function properly';
386 <  SInvalidOption = 'Invalid option specified';
387 <  SInvalidOnErrorResult = 'Unexpected onError return value';
388 <  SInvalidOnStatusResult = 'Unexpected onStatus return value';
389 <
390 <  SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
391 <  STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
392 <  SSV5APIError = 'SV5 API API Error - %s';
393 <  SThreadFailed = '%s Thread failed with Exception: %s';
394 <  sFieldSizeError = 'Field %s is too small to receive the data';
395 <  STransactionNotEnding = 'Transaction is not being completed';
396 <  SDscInfoTokenMissing = '%s token not found';
397 <  SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
398 <                   'in your program uses list?';
221 >  SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
222    SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
400  SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
401  SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
223    SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
403  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 418 | 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';
421  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 426 | 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';
429  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';
253 <  SUniqueRelationReqd = 'All Output Fields must derived from the same table';
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 = (
439    SUnknownError,
290      SInterBaseMissing,
441    SInterBaseInstallMissing,
291      SIB60feature,
292      SNotSupported,
293      SNotPermitted,
445    SFileAccessError,
446    SConnectionTimeout,
447    SCannotSetDatabase,
448    SCannotSetTransaction,
449    SOperationCancelled,
450    SDPBConstantNotSupported,
451    SDPBConstantUnknown,
452    STPBConstantNotSupported,
453    STPBConstantUnknown,
294      SDatabaseClosed,
455    SDatabaseOpen,
456    SDatabaseNameMissing,
295      SNotInTransaction,
458    SInTransaction,
459    STimeoutNegative,
460    SNoDatabasesInTransaction,
461    SUpdateWrongDB,
462    SUpdateWrongTR,
463    SDatabaseNotAssigned,
296      STransactionNotAssigned,
465    SXSQLDAIndexOutOfRange,
466    SXSQLDANameDoesNotExist,
297      SEOF,
298      SBOF,
299      SInvalidStatementHandle,
470    SSQLOpen,
300      SSQLClosed,
472    SDatasetOpen,
473    SDatasetClosed,
301      SUnknownSQLDataType,
302      SInvalidColumnIndex,
476    SInvalidParamColumnIndex,
303      SInvalidDataConversion,
478    SColumnIsNotNullable,
304      SBlobCannotBeRead,
305      SBlobCannotBeWritten,
306      SBlobNotOpen,
307      SEmptyQuery,
483    SCannotOpenNonSQLSelect,
484    SNoFieldAccess,
485    SFieldReadOnly,
308      SFieldNotFound,
487    SNotEditing,
488    SCannotInsert,
489    SCannotPost,
490    SCannotUpdate,
491    SCannotDelete,
492    SCannotRefresh,
493    SBufferNotSet,
494    SCircularReference,
309      SSQLParseError,
496    SUserAbort,
497    SDataSetUniDirectional,
498    SCannotCreateSharedResource,
499    SWindowsAPIError,
500    SColumnListsDontMatch,
501    SColumnTypesDontMatch,
502    SCantEndSharedTransaction,
503    SFieldUnsupportedType,
504    SCircularDataLink,
505    SEmptySQLStatement,
310      SIsASelectStatement,
507    SRequiredParamNotSet,
508    SNoStoredProcName,
311      SIsAExecuteProcedure,
510    SUpdateFailed,
511    SNotCachedUpdates,
512    SNotLiveRequest,
513    SNoProvider,
514    SNoRecordsAffected,
515    SNoTableName,
516    SCannotCreatePrimaryIndex,
517    SCannotDropSystemIndex,
518    STableNameMismatch,
519    SIndexFieldMissing,
520    SInvalidCancellation,
521    SInvalidEvent,
312      SMaximumEvents,
523    SNoEventsRegistered,
524    SInvalidQueueing,
525    SInvalidRegistration,
526    SInvalidBatchMove,
527    SSQLDialectInvalid,
528    SSPBConstantNotSupported,
529    SSPBConstantUnknown,
313      SServiceActive,
314      SServiceInActive,
315      SServerNameMissing,
533    SQueryParamsError,
534    SStartParamsError,
316      SOutputParsingError,
536    SUseSpecificProcedures,
537    SSQLMonitorAlreadyPresent,
538    SCantPrintValue,
539    SEOFReached,
540    SEOFInComment,
541    SEOFInString,
542    SParamNameExpected,
543    SSuccess,
544    SDelphiException,
545    SNoOptionsSet,
546    SNoDestinationDirectory,
547    SNosourceDirectory,
548    SNoUninstallFile,
549    SOptionNeedsClient,
550    SOptionNeedsServer,
551    SInvalidOption,
552    SInvalidOnErrorResult,
553    SInvalidOnStatusResult,
554    SDPBConstantUnknownEx,
555    STPBConstantUnknownEx,
556    SSV5APIError,
557    SThreadFailed,
558    SFieldSizeError,
559    STransactionNotEnding,
560    SDscInfoTokenMissing,
561    SNoLoginDialog,
317      SEmptyAttachmentsList,
563    SFirebirdLibraryLoaded,
564    SInfoBufferIndexError,
318      SInfoBufferTypeError,
566    SInfoBufferOverflow,
319      SServiceRequestIndexError,
320      SServiceParamTypeError,
321      SOutputBlockIndexError,
# Line 581 | Line 333 | const
333      SArrayBoundsCantIncrease,
334      SStatementNotPrepared,
335      SInterfaceOutofDate,
584    SUnexpectedDatabaseInfoResp,
336      SInvalidBlobMetaData,
337      SNoDPB,
338      SInEventWait,
# Line 589 | Line 340 | const
340      SMissingColumnName,
341      SStringTooLong,
342      SFieldNotinDataSet,
592    SNotCurrentArray,
343      SNoDefaultCharacterSet,
344      SParamBufferOverflow,
345      SInvalidParamCount,
346      SInvalidVariantType,
347 <    SServiceRunning,
348 <    SUniqueRelationReqd
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