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.
Revision 345 by tony, Mon Aug 23 14:22:29 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        );
170  
171 < function GetErrorMessage(ErrMess: TIBClientError): string;
171 > function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
172 >
173 > {IBError is used internally and by IBX to throw an EIBClientError}
174 >
175 > procedure IBError(ErrMess: TIBClientError; const Args: array of const);
176  
177   resourcestring
178    { generic strings used in code }
246  SEOFReached = 'SEOFReached';
247  SEOFInComment = 'EOF in comment detected';
248  SEOFInString = 'EOF in string detected';
179    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?';
180    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';
181    SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
261  SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
182    STrue = 'true';
183    SFalse = 'false';
184 +  SArray = '(array)';
185 +  SBatchCompletionError = 'Error Processing update/insert batch on row number %d - ';
186  
187   implementation
188  
189 < uses IBUtils;
189 > uses IBUtils, IB;
190  
191   resourcestring
192  
193   { strings used in error messages}
272  SUnknownError = 'Unknown error';
194    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';
195    SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
196    SNotSupported = 'Unsupported feature';
197    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';
198    SDatabaseClosed = 'Cannot perform operation -- DB is not open';
288  SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
289  SDatabaseNameMissing = 'Database name is missing';
199    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';
200    STransactionNotAssigned = 'Transaction not assigned';
298  SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
299  SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
201    SEOF = 'End of file';
202    SBOF = 'Beginning of file';
203    SInvalidStatementHandle = 'Invalid statement handle';
303  SSQLOpen = 'IBSQL Open';
204    SSQLClosed = 'IBSQL Closed';
305  SDatasetOpen = 'Dataset open';
306  SDatasetClosed = 'Dataset closed';
205    SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
206    SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
207 <  SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
310 <  SInvalidDataConversion = 'Invalid data conversion';
311 <  SColumnIsNotNullable = 'Column cannot be set to null (%s)';
207 >  SInvalidDataConversion = 'Invalid data conversion from %s';
208    SBlobCannotBeRead = 'Blob stream cannot be read';
209    SBlobCannotBeWritten = 'Blob stream cannot be written';
210    SBlobNotOpen = 'The Blob is not open';
211    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';
212    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';
213    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';
214    SIsASelectStatement = 'use Open for a Select Statement';
345  SRequiredParamNotSet = 'Required parameter "%s" value not set';
346  SNoStoredProcName = 'No Stored Procedure Name assigned';
215    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';
216    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';
217    SServiceActive = 'Cannot perform operation -- service is not attached';
218    SServiceInActive = 'Cannot perform operation -- service is attached';
219    SServerNameMissing = 'Server Name Missing';
220 <  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?';
220 >  SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
221    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)';
222    SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
400  SInfoBufferOverflow = 'Info Buffer overlow';
223    SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
224    SServiceParamTypeError = 'Invalid Request for Service Param Type';
225    SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
# Line 405 | Line 227 | resourcestring
227    SPBIndexError = 'DPB Index out of range (%d)';
228    SPBParamTypeError = 'Invalid Request for DPB Param Type';
229    SDuplicateParamName = 'Blob or array parameter name must be unique (%s)';
230 <  SInvalidArrayDimensions = 'Invalid number of array dimensions {%d)';
230 >  SInvalidArrayDimensions = 'Invalid number of array dimensions (%d)';
231    SNotAMultiDatabaseTransaction = 'This is not a multi-database transaction';
232    SAttachmentListIndexError = 'Attachment List index out of range (%d)';
233    SNotAnArray = 'Table Column must be an array';
# Line 415 | Line 237 | resourcestring
237    SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
238    SStatementNotPrepared = 'The Statement has not been prepared';
239    SInterfaceOutofDate = 'This interface is no longer up-to-date';
418  SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
240    SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
241    SNoDPB = 'A DPB must be provided';
242    SInEventWait = 'Already in Event Wait State';
# Line 423 | Line 244 | resourcestring
244    SMissingColumnName = 'Relation or Column Name Missing';
245    SStringTooLong = 'String "%s" is too long. Max %d characters';
246    SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
426  SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
247    SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
248    SParamBufferOverflow = 'Parameter Buffer Overflow';
249    SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
250    SInvalidVariantType = 'Invalid variant type';
251 <  SServiceRunning = 'Cannot start a new service while an existing service is running';
251 >  SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
252 >  SCharacterSetExists = 'Character set "%s" is already defined';
253 >  SUnknownUserCharSet = 'Unknown user character set "%s"';
254 >  SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
255 >  SMultiThreadRequired = 'Multi-threading required for %s but not enabled. Please recompile with multi-threading support enabled. '+
256 >                         'Hint: you probably need to add -dUseCThreads to the Custom Options.';
257 >  STokenQueueOverflow = 'Error in SQL Token Analyser - token queue overflow';
258 >  STokenQueueUnderflow = 'Error in SQL Token Analyser - token queue underflow';
259 >  SErrorParsing = 'Error parsing SQL Statement at clause starting with %s';
260 >  SDLInfoError = 'dlinfo returned error - %s';
261 >  SDifferentAPIs = 'All transaction attachments must use the same Firebird Library';
262 >  SInvalidDateTimeStr = '%s is not a valid Date/Time string';
263 >  SBadTimeZoneID = 'Invalid Time Zone ID (%d,%d)';
264 >  SBadBCDConversion = 'Conversion to BCD failed';
265 >  SBadTimeZoneName = 'Invalid Time Zone Name "%s"';
266 >  STimeZoneUnknown = 'Time Zone Unknown';
267 >  SBadTimeSpecification = '%d:%d:%d.%d is not a valid time specification';
268 >  SBCDTooBig = 'BCD Precision (%d) is too large for Firebird Data Type max precision (%d)';
269 >  SInvalidTimeZoneID = 'Invalid Time Zone ID (%d)';
270 >  SBadTimestampOrNoTimeZoneDBEntry = 'Bad Timestamp or missing time zone DB entry (%s) TZ ID = %d';
271 >  SBCDOverflow = 'BCD Precision too large for Firebird data type,[%s]';
272 >  SNoTimezoneSupport = 'TIME/TIMESTAMP WITH TIME ZONE data type not supported';
273 >  SDecFloatNotSupported = 'DecFloat Data Type not supported';
274 >  SInt128NotSupported = 'INT128 Data Type not supported';
275 >  SUnknownParamTypeName = '%s:Unknown Param Type Name "%s"';
276 >  SInvalidQueryAction = 'Query Action only valid for an Update or Insert Query';
277 >  SSQLTypeUnchangeable = 'Cannot change SQL Type from %s to %s';
278 >  SCannotIncreaseMetadatasize = 'Cannot increase Metadata size from %d to %d';
279 >  SBatchModeNotSupported = 'Batch Mode is not available. Firebird 4 or later client and server is required';
280 >  SNotInBatchMode = 'Not in Batch Mode - have you called AddToBatch?';
281 >  SInBatchMode = 'Invalid Operation: a Batch is pending';
282 >  SInvalidBatchQuery = 'This query type (%s) cannot be batched';
283 >  SBatchRowBufferOverflow = 'Adding Row No. %d - batch buffer size limit (%d bytes) exceeded';
284 >  SBatchBufferSizeTooBig = 'Requested Batch Buffer Size (%d bytes) exceeds 256MB limit';
285  
286   const
287    IBErrorMessages: array[TIBClientError] of string = (
435    SUnknownError,
288      SInterBaseMissing,
437    SInterBaseInstallMissing,
289      SIB60feature,
290      SNotSupported,
291      SNotPermitted,
441    SFileAccessError,
442    SConnectionTimeout,
443    SCannotSetDatabase,
444    SCannotSetTransaction,
445    SOperationCancelled,
446    SDPBConstantNotSupported,
447    SDPBConstantUnknown,
448    STPBConstantNotSupported,
449    STPBConstantUnknown,
292      SDatabaseClosed,
451    SDatabaseOpen,
452    SDatabaseNameMissing,
293      SNotInTransaction,
454    SInTransaction,
455    STimeoutNegative,
456    SNoDatabasesInTransaction,
457    SUpdateWrongDB,
458    SUpdateWrongTR,
459    SDatabaseNotAssigned,
294      STransactionNotAssigned,
461    SXSQLDAIndexOutOfRange,
462    SXSQLDANameDoesNotExist,
295      SEOF,
296      SBOF,
297      SInvalidStatementHandle,
466    SSQLOpen,
298      SSQLClosed,
468    SDatasetOpen,
469    SDatasetClosed,
299      SUnknownSQLDataType,
300      SInvalidColumnIndex,
472    SInvalidParamColumnIndex,
301      SInvalidDataConversion,
474    SColumnIsNotNullable,
302      SBlobCannotBeRead,
303      SBlobCannotBeWritten,
304      SBlobNotOpen,
305      SEmptyQuery,
479    SCannotOpenNonSQLSelect,
480    SNoFieldAccess,
481    SFieldReadOnly,
306      SFieldNotFound,
483    SNotEditing,
484    SCannotInsert,
485    SCannotPost,
486    SCannotUpdate,
487    SCannotDelete,
488    SCannotRefresh,
489    SBufferNotSet,
490    SCircularReference,
307      SSQLParseError,
492    SUserAbort,
493    SDataSetUniDirectional,
494    SCannotCreateSharedResource,
495    SWindowsAPIError,
496    SColumnListsDontMatch,
497    SColumnTypesDontMatch,
498    SCantEndSharedTransaction,
499    SFieldUnsupportedType,
500    SCircularDataLink,
501    SEmptySQLStatement,
308      SIsASelectStatement,
503    SRequiredParamNotSet,
504    SNoStoredProcName,
309      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,
310      SMaximumEvents,
519    SNoEventsRegistered,
520    SInvalidQueueing,
521    SInvalidRegistration,
522    SInvalidBatchMove,
523    SSQLDialectInvalid,
524    SSPBConstantNotSupported,
525    SSPBConstantUnknown,
311      SServiceActive,
312      SServiceInActive,
313      SServerNameMissing,
529    SQueryParamsError,
530    SStartParamsError,
314      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,
315      SEmptyAttachmentsList,
559    SFirebirdLibraryLoaded,
560    SInfoBufferIndexError,
316      SInfoBufferTypeError,
562    SInfoBufferOverflow,
317      SServiceRequestIndexError,
318      SServiceParamTypeError,
319      SOutputBlockIndexError,
# Line 577 | Line 331 | const
331      SArrayBoundsCantIncrease,
332      SStatementNotPrepared,
333      SInterfaceOutofDate,
580    SUnexpectedDatabaseInfoResp,
334      SInvalidBlobMetaData,
335      SNoDPB,
336      SInEventWait,
# Line 585 | Line 338 | const
338      SMissingColumnName,
339      SStringTooLong,
340      SFieldNotinDataSet,
588    SNotCurrentArray,
341      SNoDefaultCharacterSet,
342      SParamBufferOverflow,
343      SInvalidParamCount,
344      SInvalidVariantType,
345 <    SServiceRunning
345 >    SInterfaceNotSupported,
346 >    SCharacterSetExists,
347 >    SUnknownUserCharSet,
348 >    SUninitializedInputParameter,
349 >    SMultiThreadRequired,
350 >    STokenQueueOverflow,
351 >    STokenQueueUnderflow,
352 >    SErrorParsing,
353 >    SDLInfoError,
354 >    SDifferentAPIs,
355 >    SInvalidDateTimeStr,
356 >    SBadTimeZoneID,
357 >    SBadBCDConversion,
358 >    SBadTimeZoneName,
359 >    STimeZoneUnknown,
360 >    SBadTimeSpecification,
361 >    SBCDTooBig,
362 >    SInvalidTimeZoneID,
363 >    SBadTimestampOrNoTimeZoneDBEntry,
364 >    SBCDOverflow,
365 >    SNoTimezoneSupport,
366 >    SDecFloatNotSupported,
367 >    SInt128NotSupported,
368 >    SUnknownParamTypeName,
369 >    SInvalidQueryAction,
370 >    SSQLTypeUnchangeable,
371 >    SCannotIncreaseMetadatasize,
372 >    SBatchModeNotSupported,
373 >    SNotInBatchMode,
374 >    SInBatchMode,
375 >    SInvalidBatchQuery,
376 >    SBatchRowBufferOverflow,
377 >    SBatchBufferSizeTooBig
378    );
379  
380 < function GetErrorMessage(ErrMess: TIBClientError): string;
380 > function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
381   begin
382    Result := IBErrorMessages[ErrMess];
383   end;
384  
385 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
386 + begin
387 +  raise EIBClientError.Create(Ord(ErrMess),
388 +                              Format(GetErrorMessage(ErrMess), Args));
389 + end;
390 +
391 +
392   end.
393  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines