ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/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.
Revision 315 by tony, Thu Feb 25 11:56:36 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        );
161  
162 < function GetErrorMessage(ErrMess: TIBClientError): string;
162 > function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
163 >
164 > {IBError is used internally and by IBX to throw an EIBClientError}
165 >
166 > procedure IBError(ErrMess: TIBClientError; const Args: array of const);
167  
168   resourcestring
169    { generic strings used in code }
247  SEOFReached = 'SEOFReached';
248  SEOFInComment = 'EOF in comment detected';
249  SEOFInString = 'EOF in string detected';
170    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?';
171    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';
172    SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
262  SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
173    STrue = 'true';
174    SFalse = 'false';
175    SArray = '(array)';
266  SBlob = '(blob)';
176  
177   implementation
178  
179 < uses IBUtils;
179 > uses IBUtils, IB;
180  
181   resourcestring
182  
183   { strings used in error messages}
275  SUnknownError = 'Unknown error';
184    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';
185    SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
186    SNotSupported = 'Unsupported feature';
187    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';
188    SDatabaseClosed = 'Cannot perform operation -- DB is not open';
291  SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
292  SDatabaseNameMissing = 'Database name is missing';
189    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';
190    STransactionNotAssigned = 'Transaction not assigned';
301  SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
302  SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
191    SEOF = 'End of file';
192    SBOF = 'Beginning of file';
193    SInvalidStatementHandle = 'Invalid statement handle';
306  SSQLOpen = 'IBSQL Open';
194    SSQLClosed = 'IBSQL Closed';
308  SDatasetOpen = 'Dataset open';
309  SDatasetClosed = 'Dataset closed';
195    SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
196    SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
197 <  SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
313 <  SInvalidDataConversion = 'Invalid data conversion';
314 <  SColumnIsNotNullable = 'Column cannot be set to null (%s)';
197 >  SInvalidDataConversion = 'Invalid data conversion from %s';
198    SBlobCannotBeRead = 'Blob stream cannot be read';
199    SBlobCannotBeWritten = 'Blob stream cannot be written';
200    SBlobNotOpen = 'The Blob is not open';
201    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';
202    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';
203    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';
204    SIsASelectStatement = 'use Open for a Select Statement';
348  SRequiredParamNotSet = 'Required parameter "%s" value not set';
349  SNoStoredProcName = 'No Stored Procedure Name assigned';
205    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';
206    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';
207    SServiceActive = 'Cannot perform operation -- service is not attached';
208    SServiceInActive = 'Cannot perform operation -- service is attached';
209    SServerNameMissing = 'Server Name Missing';
210 <  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?';
210 >  SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
211    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)';
212    SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
403  SInfoBufferOverflow = 'Info Buffer overlow';
213    SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
214    SServiceParamTypeError = 'Invalid Request for Service Param Type';
215    SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
# Line 418 | Line 227 | resourcestring
227    SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
228    SStatementNotPrepared = 'The Statement has not been prepared';
229    SInterfaceOutofDate = 'This interface is no longer up-to-date';
421  SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
230    SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
231    SNoDPB = 'A DPB must be provided';
232    SInEventWait = 'Already in Event Wait State';
# Line 426 | Line 234 | resourcestring
234    SMissingColumnName = 'Relation or Column Name Missing';
235    SStringTooLong = 'String "%s" is too long. Max %d characters';
236    SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
429  SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
237    SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
238    SParamBufferOverflow = 'Parameter Buffer Overflow';
239    SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
240    SInvalidVariantType = 'Invalid variant type';
241 <  SServiceRunning = 'Cannot start a new service while an existing service is running';
242 <  SUniqueRelationReqd = 'All Output Fields must derived from the same table';
241 >  SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
242 >  SCharacterSetExists = 'Character set "%s" is already defined';
243 >  SUnknownUserCharSet = 'Unknown user character set "%s"';
244 >  SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
245 >  SMultiThreadRequired = 'Multi-threading required for %s but not enabled. Please recompile with multi-threading support enabled. '+
246 >                         'Hint: you probably need to add -dUseCThreads to the Custom Options.';
247 >  STokenQueueOverflow = 'Error in SQL Token Analyser - token queue overflow';
248 >  STokenQueueUnderflow = 'Error in SQL Token Analyser - token queue underflow';
249 >  SErrorParsing = 'Error parsing SQL Statement at clause starting with %s';
250 >  SDLInfoError = 'dlinfo returned error - %s';
251 >  SDifferentAPIs = 'All transaction attachments must use the same Firebird Library';
252 >  SInvalidDateTimeStr = '%s is not a valid Date/Time string';
253 >  SBadTimeZoneID = 'Invalid Time Zone ID (%d,%d)';
254 >  SBadBCDConversion = 'Conversion to BCD failed';
255 >  SBadTimeZoneName = 'Invalid Time Zone Name "%s"';
256 >  STimeZoneUnknown = 'Time Zone Unknown';
257 >  SBadTimeSpecification = '%d:%d:%d.%d is not a valid time specification';
258 >  SBCDTooBig = 'BCD Precision (%d) is too large for Firebird Data Type max precision (%d)';
259 >  SInvalidTimeZoneID = 'Invalid Time Zone ID (%d)';
260 >  SBadTimestampOrNoTimeZoneDBEntry = 'Bad Timestamp or missing time zone DB entry (%s) TZ ID = %d';
261 >  SBCDOverflow = 'BCD Precision too large for Firebird data type,[%s]';
262 >  SNoTimezoneSupport = 'TIME/TIMESTAMP WITH TIME ZONE data type not supported';
263 >  SDecFloatNotSupported = 'DecFloat Data Type not supported';
264 >  SInt128NotSupported = 'INT128 Data Type not supported';
265 >  SUnknownParamTypeName = '%s:Unknown Param Type Name "%s"';
266  
267   const
268    IBErrorMessages: array[TIBClientError] of string = (
439    SUnknownError,
269      SInterBaseMissing,
441    SInterBaseInstallMissing,
270      SIB60feature,
271      SNotSupported,
272      SNotPermitted,
445    SFileAccessError,
446    SConnectionTimeout,
447    SCannotSetDatabase,
448    SCannotSetTransaction,
449    SOperationCancelled,
450    SDPBConstantNotSupported,
451    SDPBConstantUnknown,
452    STPBConstantNotSupported,
453    STPBConstantUnknown,
273      SDatabaseClosed,
455    SDatabaseOpen,
456    SDatabaseNameMissing,
274      SNotInTransaction,
458    SInTransaction,
459    STimeoutNegative,
460    SNoDatabasesInTransaction,
461    SUpdateWrongDB,
462    SUpdateWrongTR,
463    SDatabaseNotAssigned,
275      STransactionNotAssigned,
465    SXSQLDAIndexOutOfRange,
466    SXSQLDANameDoesNotExist,
276      SEOF,
277      SBOF,
278      SInvalidStatementHandle,
470    SSQLOpen,
279      SSQLClosed,
472    SDatasetOpen,
473    SDatasetClosed,
280      SUnknownSQLDataType,
281      SInvalidColumnIndex,
476    SInvalidParamColumnIndex,
282      SInvalidDataConversion,
478    SColumnIsNotNullable,
283      SBlobCannotBeRead,
284      SBlobCannotBeWritten,
285      SBlobNotOpen,
286      SEmptyQuery,
483    SCannotOpenNonSQLSelect,
484    SNoFieldAccess,
485    SFieldReadOnly,
287      SFieldNotFound,
487    SNotEditing,
488    SCannotInsert,
489    SCannotPost,
490    SCannotUpdate,
491    SCannotDelete,
492    SCannotRefresh,
493    SBufferNotSet,
494    SCircularReference,
288      SSQLParseError,
496    SUserAbort,
497    SDataSetUniDirectional,
498    SCannotCreateSharedResource,
499    SWindowsAPIError,
500    SColumnListsDontMatch,
501    SColumnTypesDontMatch,
502    SCantEndSharedTransaction,
503    SFieldUnsupportedType,
504    SCircularDataLink,
505    SEmptySQLStatement,
289      SIsASelectStatement,
507    SRequiredParamNotSet,
508    SNoStoredProcName,
290      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,
291      SMaximumEvents,
523    SNoEventsRegistered,
524    SInvalidQueueing,
525    SInvalidRegistration,
526    SInvalidBatchMove,
527    SSQLDialectInvalid,
528    SSPBConstantNotSupported,
529    SSPBConstantUnknown,
292      SServiceActive,
293      SServiceInActive,
294      SServerNameMissing,
533    SQueryParamsError,
534    SStartParamsError,
295      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,
296      SEmptyAttachmentsList,
563    SFirebirdLibraryLoaded,
564    SInfoBufferIndexError,
297      SInfoBufferTypeError,
566    SInfoBufferOverflow,
298      SServiceRequestIndexError,
299      SServiceParamTypeError,
300      SOutputBlockIndexError,
# Line 581 | Line 312 | const
312      SArrayBoundsCantIncrease,
313      SStatementNotPrepared,
314      SInterfaceOutofDate,
584    SUnexpectedDatabaseInfoResp,
315      SInvalidBlobMetaData,
316      SNoDPB,
317      SInEventWait,
# Line 589 | Line 319 | const
319      SMissingColumnName,
320      SStringTooLong,
321      SFieldNotinDataSet,
592    SNotCurrentArray,
322      SNoDefaultCharacterSet,
323      SParamBufferOverflow,
324      SInvalidParamCount,
325      SInvalidVariantType,
326 <    SServiceRunning,
327 <    SUniqueRelationReqd
326 >    SInterfaceNotSupported,
327 >    SCharacterSetExists,
328 >    SUnknownUserCharSet,
329 >    SUninitializedInputParameter,
330 >    SMultiThreadRequired,
331 >    STokenQueueOverflow,
332 >    STokenQueueUnderflow,
333 >    SErrorParsing,
334 >    SDLInfoError,
335 >    SDifferentAPIs,
336 >    SInvalidDateTimeStr,
337 >    SBadTimeZoneID,
338 >    SBadBCDConversion,
339 >    SBadTimeZoneName,
340 >    STimeZoneUnknown,
341 >    SBadTimeSpecification,
342 >    SBCDTooBig,
343 >    SInvalidTimeZoneID,
344 >    SBadTimestampOrNoTimeZoneDBEntry,
345 >    SBCDOverflow,
346 >    SNoTimezoneSupport,
347 >    SDecFloatNotSupported,
348 >    SInt128NotSupported,
349 >    SUnknownParamTypeName
350    );
351  
352 < function GetErrorMessage(ErrMess: TIBClientError): string;
352 > function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
353   begin
354    Result := IBErrorMessages[ErrMess];
355   end;
356  
357 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
358 + begin
359 +  raise EIBClientError.Create(Ord(ErrMess),
360 +                              Format(GetErrorMessage(ErrMess), Args));
361 + end;
362 +
363   end.
364  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines