diff --git a/extern/cloop/src/cloop/Generator.cpp b/extern/cloop/src/cloop/Generator.cpp index 7b9409da0ab..15c2e89b237 100644 --- a/extern/cloop/src/cloop/Generator.cpp +++ b/extern/cloop/src/cloop/Generator.cpp @@ -1083,6 +1083,12 @@ void PascalGenerator::generate() if (!isProcedure) fprintf(out, ": %s", convertType(method->returnTypeRef).c_str()); + // Methods that present in TObject should be "reintroduce"d. + // So far there is just one case. For more cases better solution required. + + if (method->name == "toString") + fprintf(out, "; reintroduce"); + fprintf(out, ";\n"); } @@ -1279,6 +1285,39 @@ void PascalGenerator::generate() fprintf(out, "; cdecl;\n"); fprintf(out, "begin\n"); + if (!isProcedure) + { + if (method->returnTypeRef.isPointer) { + fprintf(out, "\tResult := nil;\n"); + } + else + { + char* sResult; + switch (method->returnTypeRef.token.type) + { + case Token::TYPE_STRING: + sResult = "nil"; + break; + + case Token::TYPE_BOOLEAN: + sResult = "false"; + break; + + case Token::TYPE_IDENTIFIER: + if (method->returnTypeRef.type == BaseType::TYPE_INTERFACE) + { + sResult = "nil"; + break; + } + // fallthru + default: + sResult = "0"; + break; + } + fprintf(out, "\tResult := %s;\n", sResult); + } + } + if (!exceptionClass.empty()) fprintf(out, "\ttry\n\t"); diff --git a/src/include/gen/Firebird.pas b/src/include/gen/Firebird.pas index 4073071e919..8fc5a13102f 100644 --- a/src/include/gen/Firebird.pas +++ b/src/include/gen/Firebird.pas @@ -121,7 +121,7 @@ FbException = class(Exception) class procedure checkException(status: IStatus); class procedure catchException(status: IStatus; e: Exception); - class procedure setVersionError(status: IStatus; interfaceName: string; + class procedure setVersionError(status: IStatus; interfaceName: AnsiString; currentVersion, expectedVersion: NativeInt); private @@ -3558,7 +3558,7 @@ IDecFloat16 = class(IVersioned) const STRING_SIZE = Cardinal(24); procedure toBcd(from: FB_DEC16Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); - procedure toString(status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar); + procedure toString(status: IStatus; from: FB_DEC16Ptr; bufferLength: Cardinal; buffer: PAnsiChar); reintroduce; procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC16Ptr); procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC16Ptr); end; @@ -3585,7 +3585,7 @@ IDecFloat34 = class(IVersioned) const STRING_SIZE = Cardinal(43); procedure toBcd(from: FB_DEC34Ptr; sign: IntegerPtr; bcd: BytePtr; exp: IntegerPtr); - procedure toString(status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar); + procedure toString(status: IStatus; from: FB_DEC34Ptr; bufferLength: Cardinal; buffer: PAnsiChar); reintroduce; procedure fromBcd(sign: Integer; bcd: BytePtr; exp: Integer; to_: FB_DEC34Ptr); procedure fromString(status: IStatus; from: PAnsiChar; to_: FB_DEC34Ptr); end; @@ -3608,7 +3608,7 @@ IInt128 = class(IVersioned) const VERSION = 2; const STRING_SIZE = Cardinal(46); - procedure toString(status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar); + procedure toString(status: IStatus; from: FB_I128Ptr; scale: Integer; bufferLength: Cardinal; buffer: PAnsiChar); reintroduce; procedure fromString(status: IStatus; scale: Integer; from: PAnsiChar; to_: FB_I128Ptr); end; @@ -8899,6 +8899,7 @@ procedure IReferenceCountedImpl_addRefDispatcher(this: IReferenceCounted); cdecl function IReferenceCountedImpl_releaseDispatcher(this: IReferenceCounted): Integer; cdecl; begin + Result := 0; try Result := IReferenceCountedImpl(this).release(); except @@ -8951,6 +8952,7 @@ procedure IStatusImpl_initDispatcher(this: IStatus); cdecl; function IStatusImpl_getStateDispatcher(this: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IStatusImpl(this).getState(); except @@ -8996,6 +8998,7 @@ procedure IStatusImpl_setWarningsDispatcher(this: IStatus; value: NativeIntPtr); function IStatusImpl_getErrorsDispatcher(this: IStatus): NativeIntPtr; cdecl; begin + Result := nil; try Result := IStatusImpl(this).getErrors(); except @@ -9005,6 +9008,7 @@ function IStatusImpl_getErrorsDispatcher(this: IStatus): NativeIntPtr; cdecl; function IStatusImpl_getWarningsDispatcher(this: IStatus): NativeIntPtr; cdecl; begin + Result := nil; try Result := IStatusImpl(this).getWarnings(); except @@ -9014,6 +9018,7 @@ function IStatusImpl_getWarningsDispatcher(this: IStatus): NativeIntPtr; cdecl; function IStatusImpl_cloneDispatcher(this: IStatus): IStatus; cdecl; begin + Result := nil; try Result := IStatusImpl(this).clone(); except @@ -9031,6 +9036,7 @@ constructor IStatusImpl.create; function IMasterImpl_getStatusDispatcher(this: IMaster): IStatus; cdecl; begin + Result := nil; try Result := IMasterImpl(this).getStatus(); except @@ -9040,6 +9046,7 @@ function IMasterImpl_getStatusDispatcher(this: IMaster): IStatus; cdecl; function IMasterImpl_getDispatcherDispatcher(this: IMaster): IProvider; cdecl; begin + Result := nil; try Result := IMasterImpl(this).getDispatcher(); except @@ -9049,6 +9056,7 @@ function IMasterImpl_getDispatcherDispatcher(this: IMaster): IProvider; cdecl; function IMasterImpl_getPluginManagerDispatcher(this: IMaster): IPluginManager; cdecl; begin + Result := nil; try Result := IMasterImpl(this).getPluginManager(); except @@ -9058,6 +9066,7 @@ function IMasterImpl_getPluginManagerDispatcher(this: IMaster): IPluginManager; function IMasterImpl_getTimerControlDispatcher(this: IMaster): ITimerControl; cdecl; begin + Result := nil; try Result := IMasterImpl(this).getTimerControl(); except @@ -9067,6 +9076,7 @@ function IMasterImpl_getTimerControlDispatcher(this: IMaster): ITimerControl; cd function IMasterImpl_getDtcDispatcher(this: IMaster): IDtc; cdecl; begin + Result := nil; try Result := IMasterImpl(this).getDtc(); except @@ -9076,6 +9086,7 @@ function IMasterImpl_getDtcDispatcher(this: IMaster): IDtc; cdecl; function IMasterImpl_registerAttachmentDispatcher(this: IMaster; provider: IProvider; attachment: IAttachment): IAttachment; cdecl; begin + Result := nil; try Result := IMasterImpl(this).registerAttachment(provider, attachment); except @@ -9085,6 +9096,7 @@ function IMasterImpl_registerAttachmentDispatcher(this: IMaster; provider: IProv function IMasterImpl_registerTransactionDispatcher(this: IMaster; attachment: IAttachment; transaction: ITransaction): ITransaction; cdecl; begin + Result := nil; try Result := IMasterImpl(this).registerTransaction(attachment, transaction); except @@ -9094,6 +9106,7 @@ function IMasterImpl_registerTransactionDispatcher(this: IMaster; attachment: IA function IMasterImpl_getMetadataBuilderDispatcher(this: IMaster; status: IStatus; fieldCount: Cardinal): IMetadataBuilder; cdecl; begin + Result := nil; try Result := IMasterImpl(this).getMetadataBuilder(status, fieldCount); except @@ -9103,6 +9116,7 @@ function IMasterImpl_getMetadataBuilderDispatcher(this: IMaster; status: IStatus function IMasterImpl_serverModeDispatcher(this: IMaster; mode: Integer): Integer; cdecl; begin + Result := 0; try Result := IMasterImpl(this).serverMode(mode); except @@ -9112,6 +9126,7 @@ function IMasterImpl_serverModeDispatcher(this: IMaster; mode: Integer): Integer function IMasterImpl_getUtilInterfaceDispatcher(this: IMaster): IUtil; cdecl; begin + Result := nil; try Result := IMasterImpl(this).getUtilInterface(); except @@ -9121,6 +9136,7 @@ function IMasterImpl_getUtilInterfaceDispatcher(this: IMaster): IUtil; cdecl; function IMasterImpl_getConfigManagerDispatcher(this: IMaster): IConfigManager; cdecl; begin + Result := nil; try Result := IMasterImpl(this).getConfigManager(); except @@ -9130,6 +9146,7 @@ function IMasterImpl_getConfigManagerDispatcher(this: IMaster): IConfigManager; function IMasterImpl_getProcessExitingDispatcher(this: IMaster): Boolean; cdecl; begin + Result := false; try Result := IMasterImpl(this).getProcessExiting(); except @@ -9156,6 +9173,7 @@ procedure IPluginBaseImpl_addRefDispatcher(this: IPluginBase); cdecl; function IPluginBaseImpl_releaseDispatcher(this: IPluginBase): Integer; cdecl; begin + Result := 0; try Result := IPluginBaseImpl(this).release(); except @@ -9174,6 +9192,7 @@ procedure IPluginBaseImpl_setOwnerDispatcher(this: IPluginBase; r: IReferenceCou function IPluginBaseImpl_getOwnerDispatcher(this: IPluginBase): IReferenceCounted; cdecl; begin + Result := nil; try Result := IPluginBaseImpl(this).getOwner(); except @@ -9200,6 +9219,7 @@ procedure IPluginSetImpl_addRefDispatcher(this: IPluginSet); cdecl; function IPluginSetImpl_releaseDispatcher(this: IPluginSet): Integer; cdecl; begin + Result := 0; try Result := IPluginSetImpl(this).release(); except @@ -9209,6 +9229,7 @@ function IPluginSetImpl_releaseDispatcher(this: IPluginSet): Integer; cdecl; function IPluginSetImpl_getNameDispatcher(this: IPluginSet): PAnsiChar; cdecl; begin + Result := nil; try Result := IPluginSetImpl(this).getName(); except @@ -9218,6 +9239,7 @@ function IPluginSetImpl_getNameDispatcher(this: IPluginSet): PAnsiChar; cdecl; function IPluginSetImpl_getModuleNameDispatcher(this: IPluginSet): PAnsiChar; cdecl; begin + Result := nil; try Result := IPluginSetImpl(this).getModuleName(); except @@ -9227,6 +9249,7 @@ function IPluginSetImpl_getModuleNameDispatcher(this: IPluginSet): PAnsiChar; cd function IPluginSetImpl_getPluginDispatcher(this: IPluginSet; status: IStatus): IPluginBase; cdecl; begin + Result := nil; try Result := IPluginSetImpl(this).getPlugin(status); except @@ -9271,6 +9294,7 @@ procedure IConfigEntryImpl_addRefDispatcher(this: IConfigEntry); cdecl; function IConfigEntryImpl_releaseDispatcher(this: IConfigEntry): Integer; cdecl; begin + Result := 0; try Result := IConfigEntryImpl(this).release(); except @@ -9280,6 +9304,7 @@ function IConfigEntryImpl_releaseDispatcher(this: IConfigEntry): Integer; cdecl; function IConfigEntryImpl_getNameDispatcher(this: IConfigEntry): PAnsiChar; cdecl; begin + Result := nil; try Result := IConfigEntryImpl(this).getName(); except @@ -9289,6 +9314,7 @@ function IConfigEntryImpl_getNameDispatcher(this: IConfigEntry): PAnsiChar; cdec function IConfigEntryImpl_getValueDispatcher(this: IConfigEntry): PAnsiChar; cdecl; begin + Result := nil; try Result := IConfigEntryImpl(this).getValue(); except @@ -9298,6 +9324,7 @@ function IConfigEntryImpl_getValueDispatcher(this: IConfigEntry): PAnsiChar; cde function IConfigEntryImpl_getIntValueDispatcher(this: IConfigEntry): Int64; cdecl; begin + Result := 0; try Result := IConfigEntryImpl(this).getIntValue(); except @@ -9307,6 +9334,7 @@ function IConfigEntryImpl_getIntValueDispatcher(this: IConfigEntry): Int64; cdec function IConfigEntryImpl_getBoolValueDispatcher(this: IConfigEntry): Boolean; cdecl; begin + Result := false; try Result := IConfigEntryImpl(this).getBoolValue(); except @@ -9316,6 +9344,7 @@ function IConfigEntryImpl_getBoolValueDispatcher(this: IConfigEntry): Boolean; c function IConfigEntryImpl_getSubConfigDispatcher(this: IConfigEntry; status: IStatus): IConfig; cdecl; begin + Result := nil; try Result := IConfigEntryImpl(this).getSubConfig(status); except @@ -9342,6 +9371,7 @@ procedure IConfigImpl_addRefDispatcher(this: IConfig); cdecl; function IConfigImpl_releaseDispatcher(this: IConfig): Integer; cdecl; begin + Result := 0; try Result := IConfigImpl(this).release(); except @@ -9351,6 +9381,7 @@ function IConfigImpl_releaseDispatcher(this: IConfig): Integer; cdecl; function IConfigImpl_findDispatcher(this: IConfig; status: IStatus; name: PAnsiChar): IConfigEntry; cdecl; begin + Result := nil; try Result := IConfigImpl(this).find(status, name); except @@ -9360,6 +9391,7 @@ function IConfigImpl_findDispatcher(this: IConfig; status: IStatus; name: PAnsiC function IConfigImpl_findValueDispatcher(this: IConfig; status: IStatus; name: PAnsiChar; value: PAnsiChar): IConfigEntry; cdecl; begin + Result := nil; try Result := IConfigImpl(this).findValue(status, name, value); except @@ -9369,6 +9401,7 @@ function IConfigImpl_findValueDispatcher(this: IConfig; status: IStatus; name: P function IConfigImpl_findPosDispatcher(this: IConfig; status: IStatus; name: PAnsiChar; pos: Cardinal): IConfigEntry; cdecl; begin + Result := nil; try Result := IConfigImpl(this).findPos(status, name, pos); except @@ -9395,6 +9428,7 @@ procedure IFirebirdConfImpl_addRefDispatcher(this: IFirebirdConf); cdecl; function IFirebirdConfImpl_releaseDispatcher(this: IFirebirdConf): Integer; cdecl; begin + Result := 0; try Result := IFirebirdConfImpl(this).release(); except @@ -9404,6 +9438,7 @@ function IFirebirdConfImpl_releaseDispatcher(this: IFirebirdConf): Integer; cdec function IFirebirdConfImpl_getKeyDispatcher(this: IFirebirdConf; name: PAnsiChar): Cardinal; cdecl; begin + Result := 0; try Result := IFirebirdConfImpl(this).getKey(name); except @@ -9413,6 +9448,7 @@ function IFirebirdConfImpl_getKeyDispatcher(this: IFirebirdConf; name: PAnsiChar function IFirebirdConfImpl_asIntegerDispatcher(this: IFirebirdConf; key: Cardinal): Int64; cdecl; begin + Result := 0; try Result := IFirebirdConfImpl(this).asInteger(key); except @@ -9422,6 +9458,7 @@ function IFirebirdConfImpl_asIntegerDispatcher(this: IFirebirdConf; key: Cardina function IFirebirdConfImpl_asStringDispatcher(this: IFirebirdConf; key: Cardinal): PAnsiChar; cdecl; begin + Result := nil; try Result := IFirebirdConfImpl(this).asString(key); except @@ -9431,6 +9468,7 @@ function IFirebirdConfImpl_asStringDispatcher(this: IFirebirdConf; key: Cardinal function IFirebirdConfImpl_asBooleanDispatcher(this: IFirebirdConf; key: Cardinal): Boolean; cdecl; begin + Result := false; try Result := IFirebirdConfImpl(this).asBoolean(key); except @@ -9440,6 +9478,7 @@ function IFirebirdConfImpl_asBooleanDispatcher(this: IFirebirdConf; key: Cardina function IFirebirdConfImpl_getVersionDispatcher(this: IFirebirdConf; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IFirebirdConfImpl(this).getVersion(status); except @@ -9466,6 +9505,7 @@ procedure IPluginConfigImpl_addRefDispatcher(this: IPluginConfig); cdecl; function IPluginConfigImpl_releaseDispatcher(this: IPluginConfig): Integer; cdecl; begin + Result := 0; try Result := IPluginConfigImpl(this).release(); except @@ -9475,6 +9515,7 @@ function IPluginConfigImpl_releaseDispatcher(this: IPluginConfig): Integer; cdec function IPluginConfigImpl_getConfigFileNameDispatcher(this: IPluginConfig): PAnsiChar; cdecl; begin + Result := nil; try Result := IPluginConfigImpl(this).getConfigFileName(); except @@ -9484,6 +9525,7 @@ function IPluginConfigImpl_getConfigFileNameDispatcher(this: IPluginConfig): PAn function IPluginConfigImpl_getDefaultConfigDispatcher(this: IPluginConfig; status: IStatus): IConfig; cdecl; begin + Result := nil; try Result := IPluginConfigImpl(this).getDefaultConfig(status); except @@ -9493,6 +9535,7 @@ function IPluginConfigImpl_getDefaultConfigDispatcher(this: IPluginConfig; statu function IPluginConfigImpl_getFirebirdConfDispatcher(this: IPluginConfig; status: IStatus): IFirebirdConf; cdecl; begin + Result := nil; try Result := IPluginConfigImpl(this).getFirebirdConf(status); except @@ -9519,6 +9562,7 @@ constructor IPluginConfigImpl.create; function IPluginFactoryImpl_createPluginDispatcher(this: IPluginFactory; status: IStatus; factoryParameter: IPluginConfig): IPluginBase; cdecl; begin + Result := nil; try Result := IPluginFactoryImpl(this).createPlugin(status, factoryParameter); except @@ -9589,6 +9633,7 @@ procedure IPluginManagerImpl_unregisterModuleDispatcher(this: IPluginManager; cl function IPluginManagerImpl_getPluginsDispatcher(this: IPluginManager; status: IStatus; pluginType: Cardinal; namesList: PAnsiChar; firebirdConf: IFirebirdConf): IPluginSet; cdecl; begin + Result := nil; try Result := IPluginManagerImpl(this).getPlugins(status, pluginType, namesList, firebirdConf); except @@ -9598,6 +9643,7 @@ function IPluginManagerImpl_getPluginsDispatcher(this: IPluginManager; status: I function IPluginManagerImpl_getConfigDispatcher(this: IPluginManager; status: IStatus; filename: PAnsiChar): IConfig; cdecl; begin + Result := nil; try Result := IPluginManagerImpl(this).getConfig(status, filename); except @@ -9642,6 +9688,7 @@ procedure ICryptKeyImpl_setAsymmetricDispatcher(this: ICryptKey; status: IStatus function ICryptKeyImpl_getEncryptKeyDispatcher(this: ICryptKey; length: CardinalPtr): Pointer; cdecl; begin + Result := nil; try Result := ICryptKeyImpl(this).getEncryptKey(length); except @@ -9651,6 +9698,7 @@ function ICryptKeyImpl_getEncryptKeyDispatcher(this: ICryptKey; length: Cardinal function ICryptKeyImpl_getDecryptKeyDispatcher(this: ICryptKey; length: CardinalPtr): Pointer; cdecl; begin + Result := nil; try Result := ICryptKeyImpl(this).getDecryptKey(length); except @@ -9668,6 +9716,7 @@ constructor ICryptKeyImpl.create; function IConfigManagerImpl_getDirectoryDispatcher(this: IConfigManager; code: Cardinal): PAnsiChar; cdecl; begin + Result := nil; try Result := IConfigManagerImpl(this).getDirectory(code); except @@ -9677,6 +9726,7 @@ function IConfigManagerImpl_getDirectoryDispatcher(this: IConfigManager; code: C function IConfigManagerImpl_getFirebirdConfDispatcher(this: IConfigManager): IFirebirdConf; cdecl; begin + Result := nil; try Result := IConfigManagerImpl(this).getFirebirdConf(); except @@ -9686,6 +9736,7 @@ function IConfigManagerImpl_getFirebirdConfDispatcher(this: IConfigManager): IFi function IConfigManagerImpl_getDatabaseConfDispatcher(this: IConfigManager; dbName: PAnsiChar): IFirebirdConf; cdecl; begin + Result := nil; try Result := IConfigManagerImpl(this).getDatabaseConf(dbName); except @@ -9695,6 +9746,7 @@ function IConfigManagerImpl_getDatabaseConfDispatcher(this: IConfigManager; dbNa function IConfigManagerImpl_getPluginConfigDispatcher(this: IConfigManager; configuredPlugin: PAnsiChar): IConfig; cdecl; begin + Result := nil; try Result := IConfigManagerImpl(this).getPluginConfig(configuredPlugin); except @@ -9704,6 +9756,7 @@ function IConfigManagerImpl_getPluginConfigDispatcher(this: IConfigManager; conf function IConfigManagerImpl_getInstallDirectoryDispatcher(this: IConfigManager): PAnsiChar; cdecl; begin + Result := nil; try Result := IConfigManagerImpl(this).getInstallDirectory(); except @@ -9713,6 +9766,7 @@ function IConfigManagerImpl_getInstallDirectoryDispatcher(this: IConfigManager): function IConfigManagerImpl_getRootDirectoryDispatcher(this: IConfigManager): PAnsiChar; cdecl; begin + Result := nil; try Result := IConfigManagerImpl(this).getRootDirectory(); except @@ -9722,6 +9776,7 @@ function IConfigManagerImpl_getRootDirectoryDispatcher(this: IConfigManager): PA function IConfigManagerImpl_getDefaultSecurityDbDispatcher(this: IConfigManager): PAnsiChar; cdecl; begin + Result := nil; try Result := IConfigManagerImpl(this).getDefaultSecurityDb(); except @@ -9748,6 +9803,7 @@ procedure IEventCallbackImpl_addRefDispatcher(this: IEventCallback); cdecl; function IEventCallbackImpl_releaseDispatcher(this: IEventCallback): Integer; cdecl; begin + Result := 0; try Result := IEventCallbackImpl(this).release(); except @@ -9783,6 +9839,7 @@ procedure IBlobImpl_addRefDispatcher(this: IBlob); cdecl; function IBlobImpl_releaseDispatcher(this: IBlob): Integer; cdecl; begin + Result := 0; try Result := IBlobImpl(this).release(); except @@ -9801,6 +9858,7 @@ procedure IBlobImpl_getInfoDispatcher(this: IBlob; status: IStatus; itemsLength: function IBlobImpl_getSegmentDispatcher(this: IBlob; status: IStatus; bufferLength: Cardinal; buffer: Pointer; segmentLength: CardinalPtr): Integer; cdecl; begin + Result := 0; try Result := IBlobImpl(this).getSegment(status, bufferLength, buffer, segmentLength); except @@ -9837,6 +9895,7 @@ procedure IBlobImpl_deprecatedCloseDispatcher(this: IBlob; status: IStatus); cde function IBlobImpl_seekDispatcher(this: IBlob; status: IStatus; mode: Integer; offset: Integer): Integer; cdecl; begin + Result := 0; try Result := IBlobImpl(this).seek(status, mode, offset); except @@ -9881,6 +9940,7 @@ procedure ITransactionImpl_addRefDispatcher(this: ITransaction); cdecl; function ITransactionImpl_releaseDispatcher(this: ITransaction): Integer; cdecl; begin + Result := 0; try Result := ITransactionImpl(this).release(); except @@ -9953,6 +10013,7 @@ procedure ITransactionImpl_deprecatedDisconnectDispatcher(this: ITransaction; st function ITransactionImpl_joinDispatcher(this: ITransaction; status: IStatus; transaction: ITransaction): ITransaction; cdecl; begin + Result := nil; try Result := ITransactionImpl(this).join(status, transaction); except @@ -9962,6 +10023,7 @@ function ITransactionImpl_joinDispatcher(this: ITransaction; status: IStatus; tr function ITransactionImpl_validateDispatcher(this: ITransaction; status: IStatus; attachment: IAttachment): ITransaction; cdecl; begin + Result := nil; try Result := ITransactionImpl(this).validate(status, attachment); except @@ -9971,6 +10033,7 @@ function ITransactionImpl_validateDispatcher(this: ITransaction; status: IStatus function ITransactionImpl_enterDtcDispatcher(this: ITransaction; status: IStatus): ITransaction; cdecl; begin + Result := nil; try Result := ITransactionImpl(this).enterDtc(status); except @@ -10024,6 +10087,7 @@ procedure IMessageMetadataImpl_addRefDispatcher(this: IMessageMetadata); cdecl; function IMessageMetadataImpl_releaseDispatcher(this: IMessageMetadata): Integer; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).release(); except @@ -10033,6 +10097,7 @@ function IMessageMetadataImpl_releaseDispatcher(this: IMessageMetadata): Integer function IMessageMetadataImpl_getCountDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getCount(status); except @@ -10042,6 +10107,7 @@ function IMessageMetadataImpl_getCountDispatcher(this: IMessageMetadata; status: function IMessageMetadataImpl_getFieldDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl; begin + Result := nil; try Result := IMessageMetadataImpl(this).getField(status, index); except @@ -10051,6 +10117,7 @@ function IMessageMetadataImpl_getFieldDispatcher(this: IMessageMetadata; status: function IMessageMetadataImpl_getRelationDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl; begin + Result := nil; try Result := IMessageMetadataImpl(this).getRelation(status, index); except @@ -10060,6 +10127,7 @@ function IMessageMetadataImpl_getRelationDispatcher(this: IMessageMetadata; stat function IMessageMetadataImpl_getOwnerDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl; begin + Result := nil; try Result := IMessageMetadataImpl(this).getOwner(status, index); except @@ -10069,6 +10137,7 @@ function IMessageMetadataImpl_getOwnerDispatcher(this: IMessageMetadata; status: function IMessageMetadataImpl_getAliasDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): PAnsiChar; cdecl; begin + Result := nil; try Result := IMessageMetadataImpl(this).getAlias(status, index); except @@ -10078,6 +10147,7 @@ function IMessageMetadataImpl_getAliasDispatcher(this: IMessageMetadata; status: function IMessageMetadataImpl_getTypeDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getType(status, index); except @@ -10087,6 +10157,7 @@ function IMessageMetadataImpl_getTypeDispatcher(this: IMessageMetadata; status: function IMessageMetadataImpl_isNullableDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Boolean; cdecl; begin + Result := false; try Result := IMessageMetadataImpl(this).isNullable(status, index); except @@ -10096,6 +10167,7 @@ function IMessageMetadataImpl_isNullableDispatcher(this: IMessageMetadata; statu function IMessageMetadataImpl_getSubTypeDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getSubType(status, index); except @@ -10105,6 +10177,7 @@ function IMessageMetadataImpl_getSubTypeDispatcher(this: IMessageMetadata; statu function IMessageMetadataImpl_getLengthDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getLength(status, index); except @@ -10114,6 +10187,7 @@ function IMessageMetadataImpl_getLengthDispatcher(this: IMessageMetadata; status function IMessageMetadataImpl_getScaleDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Integer; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getScale(status, index); except @@ -10123,6 +10197,7 @@ function IMessageMetadataImpl_getScaleDispatcher(this: IMessageMetadata; status: function IMessageMetadataImpl_getCharSetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getCharSet(status, index); except @@ -10132,6 +10207,7 @@ function IMessageMetadataImpl_getCharSetDispatcher(this: IMessageMetadata; statu function IMessageMetadataImpl_getOffsetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getOffset(status, index); except @@ -10141,6 +10217,7 @@ function IMessageMetadataImpl_getOffsetDispatcher(this: IMessageMetadata; status function IMessageMetadataImpl_getNullOffsetDispatcher(this: IMessageMetadata; status: IStatus; index: Cardinal): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getNullOffset(status, index); except @@ -10150,6 +10227,7 @@ function IMessageMetadataImpl_getNullOffsetDispatcher(this: IMessageMetadata; st function IMessageMetadataImpl_getBuilderDispatcher(this: IMessageMetadata; status: IStatus): IMetadataBuilder; cdecl; begin + Result := nil; try Result := IMessageMetadataImpl(this).getBuilder(status); except @@ -10159,6 +10237,7 @@ function IMessageMetadataImpl_getBuilderDispatcher(this: IMessageMetadata; statu function IMessageMetadataImpl_getMessageLengthDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getMessageLength(status); except @@ -10168,6 +10247,7 @@ function IMessageMetadataImpl_getMessageLengthDispatcher(this: IMessageMetadata; function IMessageMetadataImpl_getAlignmentDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getAlignment(status); except @@ -10177,6 +10257,7 @@ function IMessageMetadataImpl_getAlignmentDispatcher(this: IMessageMetadata; sta function IMessageMetadataImpl_getAlignedLengthDispatcher(this: IMessageMetadata; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IMessageMetadataImpl(this).getAlignedLength(status); except @@ -10203,6 +10284,7 @@ procedure IMetadataBuilderImpl_addRefDispatcher(this: IMetadataBuilder); cdecl; function IMetadataBuilderImpl_releaseDispatcher(this: IMetadataBuilder): Integer; cdecl; begin + Result := 0; try Result := IMetadataBuilderImpl(this).release(); except @@ -10284,6 +10366,7 @@ procedure IMetadataBuilderImpl_removeDispatcher(this: IMetadataBuilder; status: function IMetadataBuilderImpl_addFieldDispatcher(this: IMetadataBuilder; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IMetadataBuilderImpl(this).addField(status); except @@ -10293,6 +10376,7 @@ function IMetadataBuilderImpl_addFieldDispatcher(this: IMetadataBuilder; status: function IMetadataBuilderImpl_getMetadataDispatcher(this: IMetadataBuilder; status: IStatus): IMessageMetadata; cdecl; begin + Result := nil; try Result := IMetadataBuilderImpl(this).getMetadata(status); except @@ -10355,6 +10439,7 @@ procedure IResultSetImpl_addRefDispatcher(this: IResultSet); cdecl; function IResultSetImpl_releaseDispatcher(this: IResultSet): Integer; cdecl; begin + Result := 0; try Result := IResultSetImpl(this).release(); except @@ -10364,6 +10449,7 @@ function IResultSetImpl_releaseDispatcher(this: IResultSet): Integer; cdecl; function IResultSetImpl_fetchNextDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl; begin + Result := 0; try Result := IResultSetImpl(this).fetchNext(status, message); except @@ -10373,6 +10459,7 @@ function IResultSetImpl_fetchNextDispatcher(this: IResultSet; status: IStatus; m function IResultSetImpl_fetchPriorDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl; begin + Result := 0; try Result := IResultSetImpl(this).fetchPrior(status, message); except @@ -10382,6 +10469,7 @@ function IResultSetImpl_fetchPriorDispatcher(this: IResultSet; status: IStatus; function IResultSetImpl_fetchFirstDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl; begin + Result := 0; try Result := IResultSetImpl(this).fetchFirst(status, message); except @@ -10391,6 +10479,7 @@ function IResultSetImpl_fetchFirstDispatcher(this: IResultSet; status: IStatus; function IResultSetImpl_fetchLastDispatcher(this: IResultSet; status: IStatus; message: Pointer): Integer; cdecl; begin + Result := 0; try Result := IResultSetImpl(this).fetchLast(status, message); except @@ -10400,6 +10489,7 @@ function IResultSetImpl_fetchLastDispatcher(this: IResultSet; status: IStatus; m function IResultSetImpl_fetchAbsoluteDispatcher(this: IResultSet; status: IStatus; position: Integer; message: Pointer): Integer; cdecl; begin + Result := 0; try Result := IResultSetImpl(this).fetchAbsolute(status, position, message); except @@ -10409,6 +10499,7 @@ function IResultSetImpl_fetchAbsoluteDispatcher(this: IResultSet; status: IStatu function IResultSetImpl_fetchRelativeDispatcher(this: IResultSet; status: IStatus; offset: Integer; message: Pointer): Integer; cdecl; begin + Result := 0; try Result := IResultSetImpl(this).fetchRelative(status, offset, message); except @@ -10418,6 +10509,7 @@ function IResultSetImpl_fetchRelativeDispatcher(this: IResultSet; status: IStatu function IResultSetImpl_isEofDispatcher(this: IResultSet; status: IStatus): Boolean; cdecl; begin + Result := false; try Result := IResultSetImpl(this).isEof(status); except @@ -10427,6 +10519,7 @@ function IResultSetImpl_isEofDispatcher(this: IResultSet; status: IStatus): Bool function IResultSetImpl_isBofDispatcher(this: IResultSet; status: IStatus): Boolean; cdecl; begin + Result := false; try Result := IResultSetImpl(this).isBof(status); except @@ -10436,6 +10529,7 @@ function IResultSetImpl_isBofDispatcher(this: IResultSet; status: IStatus): Bool function IResultSetImpl_getMetadataDispatcher(this: IResultSet; status: IStatus): IMessageMetadata; cdecl; begin + Result := nil; try Result := IResultSetImpl(this).getMetadata(status); except @@ -10489,6 +10583,7 @@ procedure IStatementImpl_addRefDispatcher(this: IStatement); cdecl; function IStatementImpl_releaseDispatcher(this: IStatement): Integer; cdecl; begin + Result := 0; try Result := IStatementImpl(this).release(); except @@ -10507,6 +10602,7 @@ procedure IStatementImpl_getInfoDispatcher(this: IStatement; status: IStatus; it function IStatementImpl_getTypeDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IStatementImpl(this).getType(status); except @@ -10516,6 +10612,7 @@ function IStatementImpl_getTypeDispatcher(this: IStatement; status: IStatus): Ca function IStatementImpl_getPlanDispatcher(this: IStatement; status: IStatus; detailed: Boolean): PAnsiChar; cdecl; begin + Result := nil; try Result := IStatementImpl(this).getPlan(status, detailed); except @@ -10525,6 +10622,7 @@ function IStatementImpl_getPlanDispatcher(this: IStatement; status: IStatus; det function IStatementImpl_getAffectedRecordsDispatcher(this: IStatement; status: IStatus): QWord; cdecl; begin + Result := 0; try Result := IStatementImpl(this).getAffectedRecords(status); except @@ -10534,6 +10632,7 @@ function IStatementImpl_getAffectedRecordsDispatcher(this: IStatement; status: I function IStatementImpl_getInputMetadataDispatcher(this: IStatement; status: IStatus): IMessageMetadata; cdecl; begin + Result := nil; try Result := IStatementImpl(this).getInputMetadata(status); except @@ -10543,6 +10642,7 @@ function IStatementImpl_getInputMetadataDispatcher(this: IStatement; status: ISt function IStatementImpl_getOutputMetadataDispatcher(this: IStatement; status: IStatus): IMessageMetadata; cdecl; begin + Result := nil; try Result := IStatementImpl(this).getOutputMetadata(status); except @@ -10552,6 +10652,7 @@ function IStatementImpl_getOutputMetadataDispatcher(this: IStatement; status: IS function IStatementImpl_executeDispatcher(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl; begin + Result := nil; try Result := IStatementImpl(this).execute(status, transaction, inMetadata, inBuffer, outMetadata, outBuffer); except @@ -10561,6 +10662,7 @@ function IStatementImpl_executeDispatcher(this: IStatement; status: IStatus; tra function IStatementImpl_openCursorDispatcher(this: IStatement; status: IStatus; transaction: ITransaction; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; flags: Cardinal): IResultSet; cdecl; begin + Result := nil; try Result := IStatementImpl(this).openCursor(status, transaction, inMetadata, inBuffer, outMetadata, flags); except @@ -10588,6 +10690,7 @@ procedure IStatementImpl_deprecatedFreeDispatcher(this: IStatement; status: ISta function IStatementImpl_getFlagsDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IStatementImpl(this).getFlags(status); except @@ -10597,6 +10700,7 @@ function IStatementImpl_getFlagsDispatcher(this: IStatement; status: IStatus): C function IStatementImpl_getTimeoutDispatcher(this: IStatement; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IStatementImpl(this).getTimeout(status); except @@ -10615,6 +10719,7 @@ procedure IStatementImpl_setTimeoutDispatcher(this: IStatement; status: IStatus; function IStatementImpl_createBatchDispatcher(this: IStatement; status: IStatus; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl; begin + Result := nil; try Result := IStatementImpl(this).createBatch(status, inMetadata, parLength, par); except @@ -10650,6 +10755,7 @@ procedure IBatchImpl_addRefDispatcher(this: IBatch); cdecl; function IBatchImpl_releaseDispatcher(this: IBatch): Integer; cdecl; begin + Result := 0; try Result := IBatchImpl(this).release(); except @@ -10704,6 +10810,7 @@ procedure IBatchImpl_registerBlobDispatcher(this: IBatch; status: IStatus; exist function IBatchImpl_executeDispatcher(this: IBatch; status: IStatus; transaction: ITransaction): IBatchCompletionState; cdecl; begin + Result := nil; try Result := IBatchImpl(this).execute(status, transaction); except @@ -10722,6 +10829,7 @@ procedure IBatchImpl_cancelDispatcher(this: IBatch; status: IStatus); cdecl; function IBatchImpl_getBlobAlignmentDispatcher(this: IBatch; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IBatchImpl(this).getBlobAlignment(status); except @@ -10731,6 +10839,7 @@ function IBatchImpl_getBlobAlignmentDispatcher(this: IBatch; status: IStatus): C function IBatchImpl_getMetadataDispatcher(this: IBatch; status: IStatus): IMessageMetadata; cdecl; begin + Result := nil; try Result := IBatchImpl(this).getMetadata(status); except @@ -10793,6 +10902,7 @@ procedure IBatchCompletionStateImpl_disposeDispatcher(this: IBatchCompletionStat function IBatchCompletionStateImpl_getSizeDispatcher(this: IBatchCompletionState; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IBatchCompletionStateImpl(this).getSize(status); except @@ -10802,6 +10912,7 @@ function IBatchCompletionStateImpl_getSizeDispatcher(this: IBatchCompletionState function IBatchCompletionStateImpl_getStateDispatcher(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Integer; cdecl; begin + Result := 0; try Result := IBatchCompletionStateImpl(this).getState(status, pos); except @@ -10811,6 +10922,7 @@ function IBatchCompletionStateImpl_getStateDispatcher(this: IBatchCompletionStat function IBatchCompletionStateImpl_findErrorDispatcher(this: IBatchCompletionState; status: IStatus; pos: Cardinal): Cardinal; cdecl; begin + Result := 0; try Result := IBatchCompletionStateImpl(this).findError(status, pos); except @@ -10846,6 +10958,7 @@ procedure IReplicatorImpl_addRefDispatcher(this: IReplicator); cdecl; function IReplicatorImpl_releaseDispatcher(this: IReplicator): Integer; cdecl; begin + Result := 0; try Result := IReplicatorImpl(this).release(); except @@ -10899,6 +11012,7 @@ procedure IRequestImpl_addRefDispatcher(this: IRequest); cdecl; function IRequestImpl_releaseDispatcher(this: IRequest): Integer; cdecl; begin + Result := 0; try Result := IRequestImpl(this).release(); except @@ -10997,6 +11111,7 @@ procedure IEventsImpl_addRefDispatcher(this: IEvents); cdecl; function IEventsImpl_releaseDispatcher(this: IEvents): Integer; cdecl; begin + Result := 0; try Result := IEventsImpl(this).release(); except @@ -11041,6 +11156,7 @@ procedure IAttachmentImpl_addRefDispatcher(this: IAttachment); cdecl; function IAttachmentImpl_releaseDispatcher(this: IAttachment): Integer; cdecl; begin + Result := 0; try Result := IAttachmentImpl(this).release(); except @@ -11059,6 +11175,7 @@ procedure IAttachmentImpl_getInfoDispatcher(this: IAttachment; status: IStatus; function IAttachmentImpl_startTransactionDispatcher(this: IAttachment; status: IStatus; tpbLength: Cardinal; tpb: BytePtr): ITransaction; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).startTransaction(status, tpbLength, tpb); except @@ -11068,6 +11185,7 @@ function IAttachmentImpl_startTransactionDispatcher(this: IAttachment; status: I function IAttachmentImpl_reconnectTransactionDispatcher(this: IAttachment; status: IStatus; length: Cardinal; id: BytePtr): ITransaction; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).reconnectTransaction(status, length, id); except @@ -11077,6 +11195,7 @@ function IAttachmentImpl_reconnectTransactionDispatcher(this: IAttachment; statu function IAttachmentImpl_compileRequestDispatcher(this: IAttachment; status: IStatus; blrLength: Cardinal; blr: BytePtr): IRequest; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).compileRequest(status, blrLength, blr); except @@ -11095,6 +11214,7 @@ procedure IAttachmentImpl_transactRequestDispatcher(this: IAttachment; status: I function IAttachmentImpl_createBlobDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).createBlob(status, transaction, id, bpbLength, bpb); except @@ -11104,6 +11224,7 @@ function IAttachmentImpl_createBlobDispatcher(this: IAttachment; status: IStatus function IAttachmentImpl_openBlobDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; bpbLength: Cardinal; bpb: BytePtr): IBlob; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).openBlob(status, transaction, id, bpbLength, bpb); except @@ -11113,6 +11234,7 @@ function IAttachmentImpl_openBlobDispatcher(this: IAttachment; status: IStatus; function IAttachmentImpl_getSliceDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; id: ISC_QUADPtr; sdlLength: Cardinal; sdl: BytePtr; paramLength: Cardinal; param: BytePtr; sliceLength: Integer; slice: BytePtr): Integer; cdecl; begin + Result := 0; try Result := IAttachmentImpl(this).getSlice(status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice); except @@ -11140,6 +11262,7 @@ procedure IAttachmentImpl_executeDynDispatcher(this: IAttachment; status: IStatu function IAttachmentImpl_prepareDispatcher(this: IAttachment; status: IStatus; tra: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; flags: Cardinal): IStatement; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).prepare(status, tra, stmtLength, sqlStmt, dialect, flags); except @@ -11149,6 +11272,7 @@ function IAttachmentImpl_prepareDispatcher(this: IAttachment; status: IStatus; t function IAttachmentImpl_executeDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; outBuffer: Pointer): ITransaction; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).execute(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, outBuffer); except @@ -11158,6 +11282,7 @@ function IAttachmentImpl_executeDispatcher(this: IAttachment; status: IStatus; t function IAttachmentImpl_openCursorDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; inBuffer: Pointer; outMetadata: IMessageMetadata; cursorName: PAnsiChar; cursorFlags: Cardinal): IResultSet; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).openCursor(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, cursorName, cursorFlags); except @@ -11167,6 +11292,7 @@ function IAttachmentImpl_openCursorDispatcher(this: IAttachment; status: IStatus function IAttachmentImpl_queEventsDispatcher(this: IAttachment; status: IStatus; callback: IEventCallback; length: Cardinal; events: BytePtr): IEvents; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).queEvents(status, callback, length, events); except @@ -11212,6 +11338,7 @@ procedure IAttachmentImpl_deprecatedDropDatabaseDispatcher(this: IAttachment; st function IAttachmentImpl_getIdleTimeoutDispatcher(this: IAttachment; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IAttachmentImpl(this).getIdleTimeout(status); except @@ -11230,6 +11357,7 @@ procedure IAttachmentImpl_setIdleTimeoutDispatcher(this: IAttachment; status: IS function IAttachmentImpl_getStatementTimeoutDispatcher(this: IAttachment; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IAttachmentImpl(this).getStatementTimeout(status); except @@ -11248,6 +11376,7 @@ procedure IAttachmentImpl_setStatementTimeoutDispatcher(this: IAttachment; statu function IAttachmentImpl_createBatchDispatcher(this: IAttachment; status: IStatus; transaction: ITransaction; stmtLength: Cardinal; sqlStmt: PAnsiChar; dialect: Cardinal; inMetadata: IMessageMetadata; parLength: Cardinal; par: BytePtr): IBatch; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).createBatch(status, transaction, stmtLength, sqlStmt, dialect, inMetadata, parLength, par); except @@ -11257,6 +11386,7 @@ function IAttachmentImpl_createBatchDispatcher(this: IAttachment; status: IStatu function IAttachmentImpl_createReplicatorDispatcher(this: IAttachment; status: IStatus): IReplicator; cdecl; begin + Result := nil; try Result := IAttachmentImpl(this).createReplicator(status); except @@ -11301,6 +11431,7 @@ procedure IServiceImpl_addRefDispatcher(this: IService); cdecl; function IServiceImpl_releaseDispatcher(this: IService): Integer; cdecl; begin + Result := 0; try Result := IServiceImpl(this).release(); except @@ -11372,6 +11503,7 @@ procedure IProviderImpl_addRefDispatcher(this: IProvider); cdecl; function IProviderImpl_releaseDispatcher(this: IProvider): Integer; cdecl; begin + Result := 0; try Result := IProviderImpl(this).release(); except @@ -11390,6 +11522,7 @@ procedure IProviderImpl_setOwnerDispatcher(this: IProvider; r: IReferenceCounted function IProviderImpl_getOwnerDispatcher(this: IProvider): IReferenceCounted; cdecl; begin + Result := nil; try Result := IProviderImpl(this).getOwner(); except @@ -11399,6 +11532,7 @@ function IProviderImpl_getOwnerDispatcher(this: IProvider): IReferenceCounted; c function IProviderImpl_attachDatabaseDispatcher(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl; begin + Result := nil; try Result := IProviderImpl(this).attachDatabase(status, fileName, dpbLength, dpb); except @@ -11408,6 +11542,7 @@ function IProviderImpl_attachDatabaseDispatcher(this: IProvider; status: IStatus function IProviderImpl_createDatabaseDispatcher(this: IProvider; status: IStatus; fileName: PAnsiChar; dpbLength: Cardinal; dpb: BytePtr): IAttachment; cdecl; begin + Result := nil; try Result := IProviderImpl(this).createDatabase(status, fileName, dpbLength, dpb); except @@ -11417,6 +11552,7 @@ function IProviderImpl_createDatabaseDispatcher(this: IProvider; status: IStatus function IProviderImpl_attachServiceManagerDispatcher(this: IProvider; status: IStatus; service: PAnsiChar; spbLength: Cardinal; spb: BytePtr): IService; cdecl; begin + Result := nil; try Result := IProviderImpl(this).attachServiceManager(status, service, spbLength, spb); except @@ -11479,6 +11615,7 @@ procedure IDtcStartImpl_addWithTpbDispatcher(this: IDtcStart; status: IStatus; a function IDtcStartImpl_startDispatcher(this: IDtcStart; status: IStatus): ITransaction; cdecl; begin + Result := nil; try Result := IDtcStartImpl(this).start(status); except @@ -11496,6 +11633,7 @@ constructor IDtcStartImpl.create; function IDtcImpl_joinDispatcher(this: IDtc; status: IStatus; one: ITransaction; two: ITransaction): ITransaction; cdecl; begin + Result := nil; try Result := IDtcImpl(this).join(status, one, two); except @@ -11505,6 +11643,7 @@ function IDtcImpl_joinDispatcher(this: IDtc; status: IStatus; one: ITransaction; function IDtcImpl_startBuilderDispatcher(this: IDtc; status: IStatus): IDtcStart; cdecl; begin + Result := nil; try Result := IDtcImpl(this).startBuilder(status); except @@ -11531,6 +11670,7 @@ procedure IAuthImpl_addRefDispatcher(this: IAuth); cdecl; function IAuthImpl_releaseDispatcher(this: IAuth): Integer; cdecl; begin + Result := 0; try Result := IAuthImpl(this).release(); except @@ -11549,6 +11689,7 @@ procedure IAuthImpl_setOwnerDispatcher(this: IAuth; r: IReferenceCounted); cdecl function IAuthImpl_getOwnerDispatcher(this: IAuth): IReferenceCounted; cdecl; begin + Result := nil; try Result := IAuthImpl(this).getOwner(); except @@ -11610,6 +11751,7 @@ constructor IWriterImpl.create; function IServerBlockImpl_getLoginDispatcher(this: IServerBlock): PAnsiChar; cdecl; begin + Result := nil; try Result := IServerBlockImpl(this).getLogin(); except @@ -11619,6 +11761,7 @@ function IServerBlockImpl_getLoginDispatcher(this: IServerBlock): PAnsiChar; cde function IServerBlockImpl_getDataDispatcher(this: IServerBlock; length: CardinalPtr): BytePtr; cdecl; begin + Result := nil; try Result := IServerBlockImpl(this).getData(length); except @@ -11637,6 +11780,7 @@ procedure IServerBlockImpl_putDataDispatcher(this: IServerBlock; status: IStatus function IServerBlockImpl_newKeyDispatcher(this: IServerBlock; status: IStatus): ICryptKey; cdecl; begin + Result := nil; try Result := IServerBlockImpl(this).newKey(status); except @@ -11663,6 +11807,7 @@ procedure IClientBlockImpl_addRefDispatcher(this: IClientBlock); cdecl; function IClientBlockImpl_releaseDispatcher(this: IClientBlock): Integer; cdecl; begin + Result := 0; try Result := IClientBlockImpl(this).release(); except @@ -11672,6 +11817,7 @@ function IClientBlockImpl_releaseDispatcher(this: IClientBlock): Integer; cdecl; function IClientBlockImpl_getLoginDispatcher(this: IClientBlock): PAnsiChar; cdecl; begin + Result := nil; try Result := IClientBlockImpl(this).getLogin(); except @@ -11681,6 +11827,7 @@ function IClientBlockImpl_getLoginDispatcher(this: IClientBlock): PAnsiChar; cde function IClientBlockImpl_getPasswordDispatcher(this: IClientBlock): PAnsiChar; cdecl; begin + Result := nil; try Result := IClientBlockImpl(this).getPassword(); except @@ -11690,6 +11837,7 @@ function IClientBlockImpl_getPasswordDispatcher(this: IClientBlock): PAnsiChar; function IClientBlockImpl_getDataDispatcher(this: IClientBlock; length: CardinalPtr): BytePtr; cdecl; begin + Result := nil; try Result := IClientBlockImpl(this).getData(length); except @@ -11708,6 +11856,7 @@ procedure IClientBlockImpl_putDataDispatcher(this: IClientBlock; status: IStatus function IClientBlockImpl_newKeyDispatcher(this: IClientBlock; status: IStatus): ICryptKey; cdecl; begin + Result := nil; try Result := IClientBlockImpl(this).newKey(status); except @@ -11717,6 +11866,7 @@ function IClientBlockImpl_newKeyDispatcher(this: IClientBlock; status: IStatus): function IClientBlockImpl_getAuthBlockDispatcher(this: IClientBlock; status: IStatus): IAuthBlock; cdecl; begin + Result := nil; try Result := IClientBlockImpl(this).getAuthBlock(status); except @@ -11743,6 +11893,7 @@ procedure IServerImpl_addRefDispatcher(this: IServer); cdecl; function IServerImpl_releaseDispatcher(this: IServer): Integer; cdecl; begin + Result := 0; try Result := IServerImpl(this).release(); except @@ -11761,6 +11912,7 @@ procedure IServerImpl_setOwnerDispatcher(this: IServer; r: IReferenceCounted); c function IServerImpl_getOwnerDispatcher(this: IServer): IReferenceCounted; cdecl; begin + Result := nil; try Result := IServerImpl(this).getOwner(); except @@ -11770,6 +11922,7 @@ function IServerImpl_getOwnerDispatcher(this: IServer): IReferenceCounted; cdecl function IServerImpl_authenticateDispatcher(this: IServer; status: IStatus; sBlock: IServerBlock; writerInterface: IWriter): Integer; cdecl; begin + Result := 0; try Result := IServerImpl(this).authenticate(status, sBlock, writerInterface); except @@ -11805,6 +11958,7 @@ procedure IClientImpl_addRefDispatcher(this: IClient); cdecl; function IClientImpl_releaseDispatcher(this: IClient): Integer; cdecl; begin + Result := 0; try Result := IClientImpl(this).release(); except @@ -11823,6 +11977,7 @@ procedure IClientImpl_setOwnerDispatcher(this: IClient; r: IReferenceCounted); c function IClientImpl_getOwnerDispatcher(this: IClient): IReferenceCounted; cdecl; begin + Result := nil; try Result := IClientImpl(this).getOwner(); except @@ -11832,6 +11987,7 @@ function IClientImpl_getOwnerDispatcher(this: IClient): IReferenceCounted; cdecl function IClientImpl_authenticateDispatcher(this: IClient; status: IStatus; cBlock: IClientBlock): Integer; cdecl; begin + Result := 0; try Result := IClientImpl(this).authenticate(status, cBlock); except @@ -11849,6 +12005,7 @@ constructor IClientImpl.create; function IUserFieldImpl_enteredDispatcher(this: IUserField): Integer; cdecl; begin + Result := 0; try Result := IUserFieldImpl(this).entered(); except @@ -11858,6 +12015,7 @@ function IUserFieldImpl_enteredDispatcher(this: IUserField): Integer; cdecl; function IUserFieldImpl_specifiedDispatcher(this: IUserField): Integer; cdecl; begin + Result := 0; try Result := IUserFieldImpl(this).specified(); except @@ -11884,6 +12042,7 @@ constructor IUserFieldImpl.create; function ICharUserFieldImpl_enteredDispatcher(this: ICharUserField): Integer; cdecl; begin + Result := 0; try Result := ICharUserFieldImpl(this).entered(); except @@ -11893,6 +12052,7 @@ function ICharUserFieldImpl_enteredDispatcher(this: ICharUserField): Integer; cd function ICharUserFieldImpl_specifiedDispatcher(this: ICharUserField): Integer; cdecl; begin + Result := 0; try Result := ICharUserFieldImpl(this).specified(); except @@ -11911,6 +12071,7 @@ procedure ICharUserFieldImpl_setEnteredDispatcher(this: ICharUserField; status: function ICharUserFieldImpl_getDispatcher(this: ICharUserField): PAnsiChar; cdecl; begin + Result := nil; try Result := ICharUserFieldImpl(this).get(); except @@ -11937,6 +12098,7 @@ constructor ICharUserFieldImpl.create; function IIntUserFieldImpl_enteredDispatcher(this: IIntUserField): Integer; cdecl; begin + Result := 0; try Result := IIntUserFieldImpl(this).entered(); except @@ -11946,6 +12108,7 @@ function IIntUserFieldImpl_enteredDispatcher(this: IIntUserField): Integer; cdec function IIntUserFieldImpl_specifiedDispatcher(this: IIntUserField): Integer; cdecl; begin + Result := 0; try Result := IIntUserFieldImpl(this).specified(); except @@ -11964,6 +12127,7 @@ procedure IIntUserFieldImpl_setEnteredDispatcher(this: IIntUserField; status: IS function IIntUserFieldImpl_getDispatcher(this: IIntUserField): Integer; cdecl; begin + Result := 0; try Result := IIntUserFieldImpl(this).get(); except @@ -11990,6 +12154,7 @@ constructor IIntUserFieldImpl.create; function IUserImpl_operationDispatcher(this: IUser): Cardinal; cdecl; begin + Result := 0; try Result := IUserImpl(this).operation(); except @@ -11999,6 +12164,7 @@ function IUserImpl_operationDispatcher(this: IUser): Cardinal; cdecl; function IUserImpl_userNameDispatcher(this: IUser): ICharUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).userName(); except @@ -12008,6 +12174,7 @@ function IUserImpl_userNameDispatcher(this: IUser): ICharUserField; cdecl; function IUserImpl_passwordDispatcher(this: IUser): ICharUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).password(); except @@ -12017,6 +12184,7 @@ function IUserImpl_passwordDispatcher(this: IUser): ICharUserField; cdecl; function IUserImpl_firstNameDispatcher(this: IUser): ICharUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).firstName(); except @@ -12026,6 +12194,7 @@ function IUserImpl_firstNameDispatcher(this: IUser): ICharUserField; cdecl; function IUserImpl_lastNameDispatcher(this: IUser): ICharUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).lastName(); except @@ -12035,6 +12204,7 @@ function IUserImpl_lastNameDispatcher(this: IUser): ICharUserField; cdecl; function IUserImpl_middleNameDispatcher(this: IUser): ICharUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).middleName(); except @@ -12044,6 +12214,7 @@ function IUserImpl_middleNameDispatcher(this: IUser): ICharUserField; cdecl; function IUserImpl_commentDispatcher(this: IUser): ICharUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).comment(); except @@ -12053,6 +12224,7 @@ function IUserImpl_commentDispatcher(this: IUser): ICharUserField; cdecl; function IUserImpl_attributesDispatcher(this: IUser): ICharUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).attributes(); except @@ -12062,6 +12234,7 @@ function IUserImpl_attributesDispatcher(this: IUser): ICharUserField; cdecl; function IUserImpl_activeDispatcher(this: IUser): IIntUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).active(); except @@ -12071,6 +12244,7 @@ function IUserImpl_activeDispatcher(this: IUser): IIntUserField; cdecl; function IUserImpl_adminDispatcher(this: IUser): IIntUserField; cdecl; begin + Result := nil; try Result := IUserImpl(this).admin(); except @@ -12114,6 +12288,7 @@ constructor IListUsersImpl.create; function ILogonInfoImpl_nameDispatcher(this: ILogonInfo): PAnsiChar; cdecl; begin + Result := nil; try Result := ILogonInfoImpl(this).name(); except @@ -12123,6 +12298,7 @@ function ILogonInfoImpl_nameDispatcher(this: ILogonInfo): PAnsiChar; cdecl; function ILogonInfoImpl_roleDispatcher(this: ILogonInfo): PAnsiChar; cdecl; begin + Result := nil; try Result := ILogonInfoImpl(this).role(); except @@ -12132,6 +12308,7 @@ function ILogonInfoImpl_roleDispatcher(this: ILogonInfo): PAnsiChar; cdecl; function ILogonInfoImpl_networkProtocolDispatcher(this: ILogonInfo): PAnsiChar; cdecl; begin + Result := nil; try Result := ILogonInfoImpl(this).networkProtocol(); except @@ -12141,6 +12318,7 @@ function ILogonInfoImpl_networkProtocolDispatcher(this: ILogonInfo): PAnsiChar; function ILogonInfoImpl_remoteAddressDispatcher(this: ILogonInfo): PAnsiChar; cdecl; begin + Result := nil; try Result := ILogonInfoImpl(this).remoteAddress(); except @@ -12150,6 +12328,7 @@ function ILogonInfoImpl_remoteAddressDispatcher(this: ILogonInfo): PAnsiChar; cd function ILogonInfoImpl_authBlockDispatcher(this: ILogonInfo; length: CardinalPtr): BytePtr; cdecl; begin + Result := nil; try Result := ILogonInfoImpl(this).authBlock(length); except @@ -12159,6 +12338,7 @@ function ILogonInfoImpl_authBlockDispatcher(this: ILogonInfo; length: CardinalPt function ILogonInfoImpl_attachmentDispatcher(this: ILogonInfo; status: IStatus): IAttachment; cdecl; begin + Result := nil; try Result := ILogonInfoImpl(this).attachment(status); except @@ -12168,6 +12348,7 @@ function ILogonInfoImpl_attachmentDispatcher(this: ILogonInfo; status: IStatus): function ILogonInfoImpl_transactionDispatcher(this: ILogonInfo; status: IStatus): ITransaction; cdecl; begin + Result := nil; try Result := ILogonInfoImpl(this).transaction(status); except @@ -12194,6 +12375,7 @@ procedure IManagementImpl_addRefDispatcher(this: IManagement); cdecl; function IManagementImpl_releaseDispatcher(this: IManagement): Integer; cdecl; begin + Result := 0; try Result := IManagementImpl(this).release(); except @@ -12212,6 +12394,7 @@ procedure IManagementImpl_setOwnerDispatcher(this: IManagement; r: IReferenceCou function IManagementImpl_getOwnerDispatcher(this: IManagement): IReferenceCounted; cdecl; begin + Result := nil; try Result := IManagementImpl(this).getOwner(); except @@ -12230,6 +12413,7 @@ procedure IManagementImpl_startDispatcher(this: IManagement; status: IStatus; lo function IManagementImpl_executeDispatcher(this: IManagement; status: IStatus; user: IUser; callback: IListUsers): Integer; cdecl; begin + Result := 0; try Result := IManagementImpl(this).execute(status, user, callback); except @@ -12265,6 +12449,7 @@ constructor IManagementImpl.create; function IAuthBlockImpl_getTypeDispatcher(this: IAuthBlock): PAnsiChar; cdecl; begin + Result := nil; try Result := IAuthBlockImpl(this).getType(); except @@ -12274,6 +12459,7 @@ function IAuthBlockImpl_getTypeDispatcher(this: IAuthBlock): PAnsiChar; cdecl; function IAuthBlockImpl_getNameDispatcher(this: IAuthBlock): PAnsiChar; cdecl; begin + Result := nil; try Result := IAuthBlockImpl(this).getName(); except @@ -12283,6 +12469,7 @@ function IAuthBlockImpl_getNameDispatcher(this: IAuthBlock): PAnsiChar; cdecl; function IAuthBlockImpl_getPluginDispatcher(this: IAuthBlock): PAnsiChar; cdecl; begin + Result := nil; try Result := IAuthBlockImpl(this).getPlugin(); except @@ -12292,6 +12479,7 @@ function IAuthBlockImpl_getPluginDispatcher(this: IAuthBlock): PAnsiChar; cdecl; function IAuthBlockImpl_getSecurityDbDispatcher(this: IAuthBlock): PAnsiChar; cdecl; begin + Result := nil; try Result := IAuthBlockImpl(this).getSecurityDb(); except @@ -12301,6 +12489,7 @@ function IAuthBlockImpl_getSecurityDbDispatcher(this: IAuthBlock): PAnsiChar; cd function IAuthBlockImpl_getOriginalPluginDispatcher(this: IAuthBlock): PAnsiChar; cdecl; begin + Result := nil; try Result := IAuthBlockImpl(this).getOriginalPlugin(); except @@ -12310,6 +12499,7 @@ function IAuthBlockImpl_getOriginalPluginDispatcher(this: IAuthBlock): PAnsiChar function IAuthBlockImpl_nextDispatcher(this: IAuthBlock; status: IStatus): Boolean; cdecl; begin + Result := false; try Result := IAuthBlockImpl(this).next(status); except @@ -12319,6 +12509,7 @@ function IAuthBlockImpl_nextDispatcher(this: IAuthBlock; status: IStatus): Boole function IAuthBlockImpl_firstDispatcher(this: IAuthBlock; status: IStatus): Boolean; cdecl; begin + Result := false; try Result := IAuthBlockImpl(this).first(status); except @@ -12345,6 +12536,7 @@ procedure IWireCryptPluginImpl_addRefDispatcher(this: IWireCryptPlugin); cdecl; function IWireCryptPluginImpl_releaseDispatcher(this: IWireCryptPlugin): Integer; cdecl; begin + Result := 0; try Result := IWireCryptPluginImpl(this).release(); except @@ -12363,6 +12555,7 @@ procedure IWireCryptPluginImpl_setOwnerDispatcher(this: IWireCryptPlugin; r: IRe function IWireCryptPluginImpl_getOwnerDispatcher(this: IWireCryptPlugin): IReferenceCounted; cdecl; begin + Result := nil; try Result := IWireCryptPluginImpl(this).getOwner(); except @@ -12372,6 +12565,7 @@ function IWireCryptPluginImpl_getOwnerDispatcher(this: IWireCryptPlugin): IRefer function IWireCryptPluginImpl_getKnownTypesDispatcher(this: IWireCryptPlugin; status: IStatus): PAnsiChar; cdecl; begin + Result := nil; try Result := IWireCryptPluginImpl(this).getKnownTypes(status); except @@ -12408,6 +12602,7 @@ procedure IWireCryptPluginImpl_decryptDispatcher(this: IWireCryptPlugin; status: function IWireCryptPluginImpl_getSpecificDataDispatcher(this: IWireCryptPlugin; status: IStatus; keyType: PAnsiChar; length: CardinalPtr): BytePtr; cdecl; begin + Result := nil; try Result := IWireCryptPluginImpl(this).getSpecificData(status, keyType, length); except @@ -12434,6 +12629,7 @@ constructor IWireCryptPluginImpl.create; function ICryptKeyCallbackImpl_callbackDispatcher(this: ICryptKeyCallback; dataLength: Cardinal; data: Pointer; bufferLength: Cardinal; buffer: Pointer): Cardinal; cdecl; begin + Result := 0; try Result := ICryptKeyCallbackImpl(this).callback(dataLength, data, bufferLength, buffer); except @@ -12460,6 +12656,7 @@ procedure IKeyHolderPluginImpl_addRefDispatcher(this: IKeyHolderPlugin); cdecl; function IKeyHolderPluginImpl_releaseDispatcher(this: IKeyHolderPlugin): Integer; cdecl; begin + Result := 0; try Result := IKeyHolderPluginImpl(this).release(); except @@ -12478,6 +12675,7 @@ procedure IKeyHolderPluginImpl_setOwnerDispatcher(this: IKeyHolderPlugin; r: IRe function IKeyHolderPluginImpl_getOwnerDispatcher(this: IKeyHolderPlugin): IReferenceCounted; cdecl; begin + Result := nil; try Result := IKeyHolderPluginImpl(this).getOwner(); except @@ -12487,6 +12685,7 @@ function IKeyHolderPluginImpl_getOwnerDispatcher(this: IKeyHolderPlugin): IRefer function IKeyHolderPluginImpl_keyCallbackDispatcher(this: IKeyHolderPlugin; status: IStatus; callback: ICryptKeyCallback): Integer; cdecl; begin + Result := 0; try Result := IKeyHolderPluginImpl(this).keyCallback(status, callback); except @@ -12496,6 +12695,7 @@ function IKeyHolderPluginImpl_keyCallbackDispatcher(this: IKeyHolderPlugin; stat function IKeyHolderPluginImpl_keyHandleDispatcher(this: IKeyHolderPlugin; status: IStatus; keyName: PAnsiChar): ICryptKeyCallback; cdecl; begin + Result := nil; try Result := IKeyHolderPluginImpl(this).keyHandle(status, keyName); except @@ -12505,6 +12705,7 @@ function IKeyHolderPluginImpl_keyHandleDispatcher(this: IKeyHolderPlugin; status function IKeyHolderPluginImpl_useOnlyOwnKeysDispatcher(this: IKeyHolderPlugin; status: IStatus): Boolean; cdecl; begin + Result := false; try Result := IKeyHolderPluginImpl(this).useOnlyOwnKeys(status); except @@ -12514,6 +12715,7 @@ function IKeyHolderPluginImpl_useOnlyOwnKeysDispatcher(this: IKeyHolderPlugin; s function IKeyHolderPluginImpl_chainHandleDispatcher(this: IKeyHolderPlugin; status: IStatus): ICryptKeyCallback; cdecl; begin + Result := nil; try Result := IKeyHolderPluginImpl(this).chainHandle(status); except @@ -12540,6 +12742,7 @@ procedure IDbCryptInfoImpl_addRefDispatcher(this: IDbCryptInfo); cdecl; function IDbCryptInfoImpl_releaseDispatcher(this: IDbCryptInfo): Integer; cdecl; begin + Result := 0; try Result := IDbCryptInfoImpl(this).release(); except @@ -12549,6 +12752,7 @@ function IDbCryptInfoImpl_releaseDispatcher(this: IDbCryptInfo): Integer; cdecl; function IDbCryptInfoImpl_getDatabaseFullPathDispatcher(this: IDbCryptInfo; status: IStatus): PAnsiChar; cdecl; begin + Result := nil; try Result := IDbCryptInfoImpl(this).getDatabaseFullPath(status); except @@ -12575,6 +12779,7 @@ procedure IDbCryptPluginImpl_addRefDispatcher(this: IDbCryptPlugin); cdecl; function IDbCryptPluginImpl_releaseDispatcher(this: IDbCryptPlugin): Integer; cdecl; begin + Result := 0; try Result := IDbCryptPluginImpl(this).release(); except @@ -12593,6 +12798,7 @@ procedure IDbCryptPluginImpl_setOwnerDispatcher(this: IDbCryptPlugin; r: IRefere function IDbCryptPluginImpl_getOwnerDispatcher(this: IDbCryptPlugin): IReferenceCounted; cdecl; begin + Result := nil; try Result := IDbCryptPluginImpl(this).getOwner(); except @@ -12646,6 +12852,7 @@ constructor IDbCryptPluginImpl.create; function IExternalContextImpl_getMasterDispatcher(this: IExternalContext): IMaster; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).getMaster(); except @@ -12655,6 +12862,7 @@ function IExternalContextImpl_getMasterDispatcher(this: IExternalContext): IMast function IExternalContextImpl_getEngineDispatcher(this: IExternalContext; status: IStatus): IExternalEngine; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).getEngine(status); except @@ -12664,6 +12872,7 @@ function IExternalContextImpl_getEngineDispatcher(this: IExternalContext; status function IExternalContextImpl_getAttachmentDispatcher(this: IExternalContext; status: IStatus): IAttachment; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).getAttachment(status); except @@ -12673,6 +12882,7 @@ function IExternalContextImpl_getAttachmentDispatcher(this: IExternalContext; st function IExternalContextImpl_getTransactionDispatcher(this: IExternalContext; status: IStatus): ITransaction; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).getTransaction(status); except @@ -12682,6 +12892,7 @@ function IExternalContextImpl_getTransactionDispatcher(this: IExternalContext; s function IExternalContextImpl_getUserNameDispatcher(this: IExternalContext): PAnsiChar; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).getUserName(); except @@ -12691,6 +12902,7 @@ function IExternalContextImpl_getUserNameDispatcher(this: IExternalContext): PAn function IExternalContextImpl_getDatabaseNameDispatcher(this: IExternalContext): PAnsiChar; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).getDatabaseName(); except @@ -12700,6 +12912,7 @@ function IExternalContextImpl_getDatabaseNameDispatcher(this: IExternalContext): function IExternalContextImpl_getClientCharSetDispatcher(this: IExternalContext): PAnsiChar; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).getClientCharSet(); except @@ -12709,6 +12922,7 @@ function IExternalContextImpl_getClientCharSetDispatcher(this: IExternalContext) function IExternalContextImpl_obtainInfoCodeDispatcher(this: IExternalContext): Integer; cdecl; begin + Result := 0; try Result := IExternalContextImpl(this).obtainInfoCode(); except @@ -12718,6 +12932,7 @@ function IExternalContextImpl_obtainInfoCodeDispatcher(this: IExternalContext): function IExternalContextImpl_getInfoDispatcher(this: IExternalContext; code: Integer): Pointer; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).getInfo(code); except @@ -12727,6 +12942,7 @@ function IExternalContextImpl_getInfoDispatcher(this: IExternalContext; code: In function IExternalContextImpl_setInfoDispatcher(this: IExternalContext; code: Integer; value: Pointer): Pointer; cdecl; begin + Result := nil; try Result := IExternalContextImpl(this).setInfo(code, value); except @@ -12753,6 +12969,7 @@ procedure IExternalResultSetImpl_disposeDispatcher(this: IExternalResultSet); cd function IExternalResultSetImpl_fetchDispatcher(this: IExternalResultSet; status: IStatus): Boolean; cdecl; begin + Result := false; try Result := IExternalResultSetImpl(this).fetch(status); except @@ -12823,6 +13040,7 @@ procedure IExternalProcedureImpl_getCharSetDispatcher(this: IExternalProcedure; function IExternalProcedureImpl_openDispatcher(this: IExternalProcedure; status: IStatus; context: IExternalContext; inMsg: Pointer; outMsg: Pointer): IExternalResultSet; cdecl; begin + Result := nil; try Result := IExternalProcedureImpl(this).open(status, context, inMsg, outMsg); except @@ -12875,6 +13093,7 @@ constructor IExternalTriggerImpl.create; function IRoutineMetadataImpl_getPackageDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl; begin + Result := nil; try Result := IRoutineMetadataImpl(this).getPackage(status); except @@ -12884,6 +13103,7 @@ function IRoutineMetadataImpl_getPackageDispatcher(this: IRoutineMetadata; statu function IRoutineMetadataImpl_getNameDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl; begin + Result := nil; try Result := IRoutineMetadataImpl(this).getName(status); except @@ -12893,6 +13113,7 @@ function IRoutineMetadataImpl_getNameDispatcher(this: IRoutineMetadata; status: function IRoutineMetadataImpl_getEntryPointDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl; begin + Result := nil; try Result := IRoutineMetadataImpl(this).getEntryPoint(status); except @@ -12902,6 +13123,7 @@ function IRoutineMetadataImpl_getEntryPointDispatcher(this: IRoutineMetadata; st function IRoutineMetadataImpl_getBodyDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl; begin + Result := nil; try Result := IRoutineMetadataImpl(this).getBody(status); except @@ -12911,6 +13133,7 @@ function IRoutineMetadataImpl_getBodyDispatcher(this: IRoutineMetadata; status: function IRoutineMetadataImpl_getInputMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl; begin + Result := nil; try Result := IRoutineMetadataImpl(this).getInputMetadata(status); except @@ -12920,6 +13143,7 @@ function IRoutineMetadataImpl_getInputMetadataDispatcher(this: IRoutineMetadata; function IRoutineMetadataImpl_getOutputMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl; begin + Result := nil; try Result := IRoutineMetadataImpl(this).getOutputMetadata(status); except @@ -12929,6 +13153,7 @@ function IRoutineMetadataImpl_getOutputMetadataDispatcher(this: IRoutineMetadata function IRoutineMetadataImpl_getTriggerMetadataDispatcher(this: IRoutineMetadata; status: IStatus): IMessageMetadata; cdecl; begin + Result := nil; try Result := IRoutineMetadataImpl(this).getTriggerMetadata(status); except @@ -12938,6 +13163,7 @@ function IRoutineMetadataImpl_getTriggerMetadataDispatcher(this: IRoutineMetadat function IRoutineMetadataImpl_getTriggerTableDispatcher(this: IRoutineMetadata; status: IStatus): PAnsiChar; cdecl; begin + Result := nil; try Result := IRoutineMetadataImpl(this).getTriggerTable(status); except @@ -12947,6 +13173,7 @@ function IRoutineMetadataImpl_getTriggerTableDispatcher(this: IRoutineMetadata; function IRoutineMetadataImpl_getTriggerTypeDispatcher(this: IRoutineMetadata; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IRoutineMetadataImpl(this).getTriggerType(status); except @@ -12973,6 +13200,7 @@ procedure IExternalEngineImpl_addRefDispatcher(this: IExternalEngine); cdecl; function IExternalEngineImpl_releaseDispatcher(this: IExternalEngine): Integer; cdecl; begin + Result := 0; try Result := IExternalEngineImpl(this).release(); except @@ -12991,6 +13219,7 @@ procedure IExternalEngineImpl_setOwnerDispatcher(this: IExternalEngine; r: IRefe function IExternalEngineImpl_getOwnerDispatcher(this: IExternalEngine): IReferenceCounted; cdecl; begin + Result := nil; try Result := IExternalEngineImpl(this).getOwner(); except @@ -13027,6 +13256,7 @@ procedure IExternalEngineImpl_closeAttachmentDispatcher(this: IExternalEngine; s function IExternalEngineImpl_makeFunctionDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalFunction; cdecl; begin + Result := nil; try Result := IExternalEngineImpl(this).makeFunction(status, context, metadata, inBuilder, outBuilder); except @@ -13036,6 +13266,7 @@ function IExternalEngineImpl_makeFunctionDispatcher(this: IExternalEngine; statu function IExternalEngineImpl_makeProcedureDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; inBuilder: IMetadataBuilder; outBuilder: IMetadataBuilder): IExternalProcedure; cdecl; begin + Result := nil; try Result := IExternalEngineImpl(this).makeProcedure(status, context, metadata, inBuilder, outBuilder); except @@ -13045,6 +13276,7 @@ function IExternalEngineImpl_makeProcedureDispatcher(this: IExternalEngine; stat function IExternalEngineImpl_makeTriggerDispatcher(this: IExternalEngine; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata; fieldsBuilder: IMetadataBuilder): IExternalTrigger; cdecl; begin + Result := nil; try Result := IExternalEngineImpl(this).makeTrigger(status, context, metadata, fieldsBuilder); except @@ -13071,6 +13303,7 @@ procedure ITimerImpl_addRefDispatcher(this: ITimer); cdecl; function ITimerImpl_releaseDispatcher(this: ITimer): Integer; cdecl; begin + Result := 0; try Result := ITimerImpl(this).release(); except @@ -13176,6 +13409,7 @@ procedure IUtilImpl_getPerfCountersDispatcher(this: IUtil; status: IStatus; att: function IUtilImpl_executeCreateDatabaseDispatcher(this: IUtil; status: IStatus; stmtLength: Cardinal; creatDBstatement: PAnsiChar; dialect: Cardinal; stmtIsCreateDb: BooleanPtr): IAttachment; cdecl; begin + Result := nil; try Result := IUtilImpl(this).executeCreateDatabase(status, stmtLength, creatDBstatement, dialect, stmtIsCreateDb); except @@ -13203,6 +13437,7 @@ procedure IUtilImpl_decodeTimeDispatcher(this: IUtil; time: ISC_TIME; hours: Car function IUtilImpl_encodeDateDispatcher(this: IUtil; year: Cardinal; month: Cardinal; day: Cardinal): ISC_DATE; cdecl; begin + Result := 0; try Result := IUtilImpl(this).encodeDate(year, month, day); except @@ -13212,6 +13447,7 @@ function IUtilImpl_encodeDateDispatcher(this: IUtil; year: Cardinal; month: Card function IUtilImpl_encodeTimeDispatcher(this: IUtil; hours: Cardinal; minutes: Cardinal; seconds: Cardinal; fractions: Cardinal): ISC_TIME; cdecl; begin + Result := 0; try Result := IUtilImpl(this).encodeTime(hours, minutes, seconds, fractions); except @@ -13221,6 +13457,7 @@ function IUtilImpl_encodeTimeDispatcher(this: IUtil; hours: Cardinal; minutes: C function IUtilImpl_formatStatusDispatcher(this: IUtil; buffer: PAnsiChar; bufferSize: Cardinal; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IUtilImpl(this).formatStatus(buffer, bufferSize, status); except @@ -13230,6 +13467,7 @@ function IUtilImpl_formatStatusDispatcher(this: IUtil; buffer: PAnsiChar; buffer function IUtilImpl_getClientVersionDispatcher(this: IUtil): Cardinal; cdecl; begin + Result := 0; try Result := IUtilImpl(this).getClientVersion(); except @@ -13239,6 +13477,7 @@ function IUtilImpl_getClientVersionDispatcher(this: IUtil): Cardinal; cdecl; function IUtilImpl_getXpbBuilderDispatcher(this: IUtil; status: IStatus; kind: Cardinal; buf: BytePtr; len: Cardinal): IXpbBuilder; cdecl; begin + Result := nil; try Result := IUtilImpl(this).getXpbBuilder(status, kind, buf, len); except @@ -13248,6 +13487,7 @@ function IUtilImpl_getXpbBuilderDispatcher(this: IUtil; status: IStatus; kind: C function IUtilImpl_setOffsetsDispatcher(this: IUtil; status: IStatus; metadata: IMessageMetadata; callback: IOffsetsCallback): Cardinal; cdecl; begin + Result := 0; try Result := IUtilImpl(this).setOffsets(status, metadata, callback); except @@ -13257,6 +13497,7 @@ function IUtilImpl_setOffsetsDispatcher(this: IUtil; status: IStatus; metadata: function IUtilImpl_getDecFloat16Dispatcher(this: IUtil; status: IStatus): IDecFloat16; cdecl; begin + Result := nil; try Result := IUtilImpl(this).getDecFloat16(status); except @@ -13266,6 +13507,7 @@ function IUtilImpl_getDecFloat16Dispatcher(this: IUtil; status: IStatus): IDecFl function IUtilImpl_getDecFloat34Dispatcher(this: IUtil; status: IStatus): IDecFloat34; cdecl; begin + Result := nil; try Result := IUtilImpl(this).getDecFloat34(status); except @@ -13311,6 +13553,7 @@ procedure IUtilImpl_encodeTimeStampTzDispatcher(this: IUtil; status: IStatus; ti function IUtilImpl_getInt128Dispatcher(this: IUtil; status: IStatus): IInt128; cdecl; begin + Result := nil; try Result := IUtilImpl(this).getInt128(status); except @@ -13435,6 +13678,7 @@ procedure IXpbBuilderImpl_insertTagDispatcher(this: IXpbBuilder; status: IStatus function IXpbBuilderImpl_isEofDispatcher(this: IXpbBuilder; status: IStatus): Boolean; cdecl; begin + Result := false; try Result := IXpbBuilderImpl(this).isEof(status); except @@ -13462,6 +13706,7 @@ procedure IXpbBuilderImpl_rewindDispatcher(this: IXpbBuilder; status: IStatus); function IXpbBuilderImpl_findFirstDispatcher(this: IXpbBuilder; status: IStatus; tag: Byte): Boolean; cdecl; begin + Result := false; try Result := IXpbBuilderImpl(this).findFirst(status, tag); except @@ -13471,6 +13716,7 @@ function IXpbBuilderImpl_findFirstDispatcher(this: IXpbBuilder; status: IStatus; function IXpbBuilderImpl_findNextDispatcher(this: IXpbBuilder; status: IStatus): Boolean; cdecl; begin + Result := false; try Result := IXpbBuilderImpl(this).findNext(status); except @@ -13480,6 +13726,7 @@ function IXpbBuilderImpl_findNextDispatcher(this: IXpbBuilder; status: IStatus): function IXpbBuilderImpl_getTagDispatcher(this: IXpbBuilder; status: IStatus): Byte; cdecl; begin + Result := 0; try Result := IXpbBuilderImpl(this).getTag(status); except @@ -13489,6 +13736,7 @@ function IXpbBuilderImpl_getTagDispatcher(this: IXpbBuilder; status: IStatus): B function IXpbBuilderImpl_getLengthDispatcher(this: IXpbBuilder; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IXpbBuilderImpl(this).getLength(status); except @@ -13498,6 +13746,7 @@ function IXpbBuilderImpl_getLengthDispatcher(this: IXpbBuilder; status: IStatus) function IXpbBuilderImpl_getIntDispatcher(this: IXpbBuilder; status: IStatus): Integer; cdecl; begin + Result := 0; try Result := IXpbBuilderImpl(this).getInt(status); except @@ -13507,6 +13756,7 @@ function IXpbBuilderImpl_getIntDispatcher(this: IXpbBuilder; status: IStatus): I function IXpbBuilderImpl_getBigIntDispatcher(this: IXpbBuilder; status: IStatus): Int64; cdecl; begin + Result := 0; try Result := IXpbBuilderImpl(this).getBigInt(status); except @@ -13516,6 +13766,7 @@ function IXpbBuilderImpl_getBigIntDispatcher(this: IXpbBuilder; status: IStatus) function IXpbBuilderImpl_getStringDispatcher(this: IXpbBuilder; status: IStatus): PAnsiChar; cdecl; begin + Result := nil; try Result := IXpbBuilderImpl(this).getString(status); except @@ -13525,6 +13776,7 @@ function IXpbBuilderImpl_getStringDispatcher(this: IXpbBuilder; status: IStatus) function IXpbBuilderImpl_getBytesDispatcher(this: IXpbBuilder; status: IStatus): BytePtr; cdecl; begin + Result := nil; try Result := IXpbBuilderImpl(this).getBytes(status); except @@ -13534,6 +13786,7 @@ function IXpbBuilderImpl_getBytesDispatcher(this: IXpbBuilder; status: IStatus): function IXpbBuilderImpl_getBufferLengthDispatcher(this: IXpbBuilder; status: IStatus): Cardinal; cdecl; begin + Result := 0; try Result := IXpbBuilderImpl(this).getBufferLength(status); except @@ -13543,6 +13796,7 @@ function IXpbBuilderImpl_getBufferLengthDispatcher(this: IXpbBuilder; status: IS function IXpbBuilderImpl_getBufferDispatcher(this: IXpbBuilder; status: IStatus): BytePtr; cdecl; begin + Result := nil; try Result := IXpbBuilderImpl(this).getBuffer(status); except @@ -13560,6 +13814,7 @@ constructor IXpbBuilderImpl.create; function ITraceConnectionImpl_getKindDispatcher(this: ITraceConnection): Cardinal; cdecl; begin + Result := 0; try Result := ITraceConnectionImpl(this).getKind(); except @@ -13569,6 +13824,7 @@ function ITraceConnectionImpl_getKindDispatcher(this: ITraceConnection): Cardina function ITraceConnectionImpl_getProcessIDDispatcher(this: ITraceConnection): Integer; cdecl; begin + Result := 0; try Result := ITraceConnectionImpl(this).getProcessID(); except @@ -13578,6 +13834,7 @@ function ITraceConnectionImpl_getProcessIDDispatcher(this: ITraceConnection): In function ITraceConnectionImpl_getUserNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceConnectionImpl(this).getUserName(); except @@ -13587,6 +13844,7 @@ function ITraceConnectionImpl_getUserNameDispatcher(this: ITraceConnection): PAn function ITraceConnectionImpl_getRoleNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceConnectionImpl(this).getRoleName(); except @@ -13596,6 +13854,7 @@ function ITraceConnectionImpl_getRoleNameDispatcher(this: ITraceConnection): PAn function ITraceConnectionImpl_getCharSetDispatcher(this: ITraceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceConnectionImpl(this).getCharSet(); except @@ -13605,6 +13864,7 @@ function ITraceConnectionImpl_getCharSetDispatcher(this: ITraceConnection): PAns function ITraceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceConnectionImpl(this).getRemoteProtocol(); except @@ -13614,6 +13874,7 @@ function ITraceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceConnection function ITraceConnectionImpl_getRemoteAddressDispatcher(this: ITraceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceConnectionImpl(this).getRemoteAddress(); except @@ -13623,6 +13884,7 @@ function ITraceConnectionImpl_getRemoteAddressDispatcher(this: ITraceConnection) function ITraceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceConnection): Integer; cdecl; begin + Result := 0; try Result := ITraceConnectionImpl(this).getRemoteProcessID(); except @@ -13632,6 +13894,7 @@ function ITraceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceConnectio function ITraceConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceConnectionImpl(this).getRemoteProcessName(); except @@ -13649,6 +13912,7 @@ constructor ITraceConnectionImpl.create; function ITraceDatabaseConnectionImpl_getKindDispatcher(this: ITraceDatabaseConnection): Cardinal; cdecl; begin + Result := 0; try Result := ITraceDatabaseConnectionImpl(this).getKind(); except @@ -13658,6 +13922,7 @@ function ITraceDatabaseConnectionImpl_getKindDispatcher(this: ITraceDatabaseConn function ITraceDatabaseConnectionImpl_getProcessIDDispatcher(this: ITraceDatabaseConnection): Integer; cdecl; begin + Result := 0; try Result := ITraceDatabaseConnectionImpl(this).getProcessID(); except @@ -13667,6 +13932,7 @@ function ITraceDatabaseConnectionImpl_getProcessIDDispatcher(this: ITraceDatabas function ITraceDatabaseConnectionImpl_getUserNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceDatabaseConnectionImpl(this).getUserName(); except @@ -13676,6 +13942,7 @@ function ITraceDatabaseConnectionImpl_getUserNameDispatcher(this: ITraceDatabase function ITraceDatabaseConnectionImpl_getRoleNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceDatabaseConnectionImpl(this).getRoleName(); except @@ -13685,6 +13952,7 @@ function ITraceDatabaseConnectionImpl_getRoleNameDispatcher(this: ITraceDatabase function ITraceDatabaseConnectionImpl_getCharSetDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceDatabaseConnectionImpl(this).getCharSet(); except @@ -13694,6 +13962,7 @@ function ITraceDatabaseConnectionImpl_getCharSetDispatcher(this: ITraceDatabaseC function ITraceDatabaseConnectionImpl_getRemoteProtocolDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceDatabaseConnectionImpl(this).getRemoteProtocol(); except @@ -13703,6 +13972,7 @@ function ITraceDatabaseConnectionImpl_getRemoteProtocolDispatcher(this: ITraceDa function ITraceDatabaseConnectionImpl_getRemoteAddressDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceDatabaseConnectionImpl(this).getRemoteAddress(); except @@ -13712,6 +13982,7 @@ function ITraceDatabaseConnectionImpl_getRemoteAddressDispatcher(this: ITraceDat function ITraceDatabaseConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceDatabaseConnection): Integer; cdecl; begin + Result := 0; try Result := ITraceDatabaseConnectionImpl(this).getRemoteProcessID(); except @@ -13721,6 +13992,7 @@ function ITraceDatabaseConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceD function ITraceDatabaseConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceDatabaseConnectionImpl(this).getRemoteProcessName(); except @@ -13730,6 +14002,7 @@ function ITraceDatabaseConnectionImpl_getRemoteProcessNameDispatcher(this: ITrac function ITraceDatabaseConnectionImpl_getConnectionIDDispatcher(this: ITraceDatabaseConnection): Int64; cdecl; begin + Result := 0; try Result := ITraceDatabaseConnectionImpl(this).getConnectionID(); except @@ -13739,6 +14012,7 @@ function ITraceDatabaseConnectionImpl_getConnectionIDDispatcher(this: ITraceData function ITraceDatabaseConnectionImpl_getDatabaseNameDispatcher(this: ITraceDatabaseConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceDatabaseConnectionImpl(this).getDatabaseName(); except @@ -13756,6 +14030,7 @@ constructor ITraceDatabaseConnectionImpl.create; function ITraceTransactionImpl_getTransactionIDDispatcher(this: ITraceTransaction): Int64; cdecl; begin + Result := 0; try Result := ITraceTransactionImpl(this).getTransactionID(); except @@ -13765,6 +14040,7 @@ function ITraceTransactionImpl_getTransactionIDDispatcher(this: ITraceTransactio function ITraceTransactionImpl_getReadOnlyDispatcher(this: ITraceTransaction): Boolean; cdecl; begin + Result := false; try Result := ITraceTransactionImpl(this).getReadOnly(); except @@ -13774,6 +14050,7 @@ function ITraceTransactionImpl_getReadOnlyDispatcher(this: ITraceTransaction): B function ITraceTransactionImpl_getWaitDispatcher(this: ITraceTransaction): Integer; cdecl; begin + Result := 0; try Result := ITraceTransactionImpl(this).getWait(); except @@ -13783,6 +14060,7 @@ function ITraceTransactionImpl_getWaitDispatcher(this: ITraceTransaction): Integ function ITraceTransactionImpl_getIsolationDispatcher(this: ITraceTransaction): Cardinal; cdecl; begin + Result := 0; try Result := ITraceTransactionImpl(this).getIsolation(); except @@ -13792,6 +14070,7 @@ function ITraceTransactionImpl_getIsolationDispatcher(this: ITraceTransaction): function ITraceTransactionImpl_getPerfDispatcher(this: ITraceTransaction): PerformanceInfoPtr; cdecl; begin + Result := nil; try Result := ITraceTransactionImpl(this).getPerf(); except @@ -13801,6 +14080,7 @@ function ITraceTransactionImpl_getPerfDispatcher(this: ITraceTransaction): Perfo function ITraceTransactionImpl_getInitialIDDispatcher(this: ITraceTransaction): Int64; cdecl; begin + Result := 0; try Result := ITraceTransactionImpl(this).getInitialID(); except @@ -13810,6 +14090,7 @@ function ITraceTransactionImpl_getInitialIDDispatcher(this: ITraceTransaction): function ITraceTransactionImpl_getPreviousIDDispatcher(this: ITraceTransaction): Int64; cdecl; begin + Result := 0; try Result := ITraceTransactionImpl(this).getPreviousID(); except @@ -13827,6 +14108,7 @@ constructor ITraceTransactionImpl.create; function ITraceParamsImpl_getCountDispatcher(this: ITraceParams): Cardinal; cdecl; begin + Result := 0; try Result := ITraceParamsImpl(this).getCount(); except @@ -13836,6 +14118,7 @@ function ITraceParamsImpl_getCountDispatcher(this: ITraceParams): Cardinal; cdec function ITraceParamsImpl_getParamDispatcher(this: ITraceParams; idx: Cardinal): dscPtr; cdecl; begin + Result := nil; try Result := ITraceParamsImpl(this).getParam(idx); except @@ -13845,6 +14128,7 @@ function ITraceParamsImpl_getParamDispatcher(this: ITraceParams; idx: Cardinal): function ITraceParamsImpl_getTextUTF8Dispatcher(this: ITraceParams; status: IStatus; idx: Cardinal): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceParamsImpl(this).getTextUTF8(status, idx); except @@ -13862,6 +14146,7 @@ constructor ITraceParamsImpl.create; function ITraceStatementImpl_getStmtIDDispatcher(this: ITraceStatement): Int64; cdecl; begin + Result := 0; try Result := ITraceStatementImpl(this).getStmtID(); except @@ -13871,6 +14156,7 @@ function ITraceStatementImpl_getStmtIDDispatcher(this: ITraceStatement): Int64; function ITraceStatementImpl_getPerfDispatcher(this: ITraceStatement): PerformanceInfoPtr; cdecl; begin + Result := nil; try Result := ITraceStatementImpl(this).getPerf(); except @@ -13888,6 +14174,7 @@ constructor ITraceStatementImpl.create; function ITraceSQLStatementImpl_getStmtIDDispatcher(this: ITraceSQLStatement): Int64; cdecl; begin + Result := 0; try Result := ITraceSQLStatementImpl(this).getStmtID(); except @@ -13897,6 +14184,7 @@ function ITraceSQLStatementImpl_getStmtIDDispatcher(this: ITraceSQLStatement): I function ITraceSQLStatementImpl_getPerfDispatcher(this: ITraceSQLStatement): PerformanceInfoPtr; cdecl; begin + Result := nil; try Result := ITraceSQLStatementImpl(this).getPerf(); except @@ -13906,6 +14194,7 @@ function ITraceSQLStatementImpl_getPerfDispatcher(this: ITraceSQLStatement): Per function ITraceSQLStatementImpl_getTextDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceSQLStatementImpl(this).getText(); except @@ -13915,6 +14204,7 @@ function ITraceSQLStatementImpl_getTextDispatcher(this: ITraceSQLStatement): PAn function ITraceSQLStatementImpl_getPlanDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceSQLStatementImpl(this).getPlan(); except @@ -13924,6 +14214,7 @@ function ITraceSQLStatementImpl_getPlanDispatcher(this: ITraceSQLStatement): PAn function ITraceSQLStatementImpl_getInputsDispatcher(this: ITraceSQLStatement): ITraceParams; cdecl; begin + Result := nil; try Result := ITraceSQLStatementImpl(this).getInputs(); except @@ -13933,6 +14224,7 @@ function ITraceSQLStatementImpl_getInputsDispatcher(this: ITraceSQLStatement): I function ITraceSQLStatementImpl_getTextUTF8Dispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceSQLStatementImpl(this).getTextUTF8(); except @@ -13942,6 +14234,7 @@ function ITraceSQLStatementImpl_getTextUTF8Dispatcher(this: ITraceSQLStatement): function ITraceSQLStatementImpl_getExplainedPlanDispatcher(this: ITraceSQLStatement): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceSQLStatementImpl(this).getExplainedPlan(); except @@ -13959,6 +14252,7 @@ constructor ITraceSQLStatementImpl.create; function ITraceBLRStatementImpl_getStmtIDDispatcher(this: ITraceBLRStatement): Int64; cdecl; begin + Result := 0; try Result := ITraceBLRStatementImpl(this).getStmtID(); except @@ -13968,6 +14262,7 @@ function ITraceBLRStatementImpl_getStmtIDDispatcher(this: ITraceBLRStatement): I function ITraceBLRStatementImpl_getPerfDispatcher(this: ITraceBLRStatement): PerformanceInfoPtr; cdecl; begin + Result := nil; try Result := ITraceBLRStatementImpl(this).getPerf(); except @@ -13977,6 +14272,7 @@ function ITraceBLRStatementImpl_getPerfDispatcher(this: ITraceBLRStatement): Per function ITraceBLRStatementImpl_getDataDispatcher(this: ITraceBLRStatement): BytePtr; cdecl; begin + Result := nil; try Result := ITraceBLRStatementImpl(this).getData(); except @@ -13986,6 +14282,7 @@ function ITraceBLRStatementImpl_getDataDispatcher(this: ITraceBLRStatement): Byt function ITraceBLRStatementImpl_getDataLengthDispatcher(this: ITraceBLRStatement): Cardinal; cdecl; begin + Result := 0; try Result := ITraceBLRStatementImpl(this).getDataLength(); except @@ -13995,6 +14292,7 @@ function ITraceBLRStatementImpl_getDataLengthDispatcher(this: ITraceBLRStatement function ITraceBLRStatementImpl_getTextDispatcher(this: ITraceBLRStatement): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceBLRStatementImpl(this).getText(); except @@ -14012,6 +14310,7 @@ constructor ITraceBLRStatementImpl.create; function ITraceDYNRequestImpl_getDataDispatcher(this: ITraceDYNRequest): BytePtr; cdecl; begin + Result := nil; try Result := ITraceDYNRequestImpl(this).getData(); except @@ -14021,6 +14320,7 @@ function ITraceDYNRequestImpl_getDataDispatcher(this: ITraceDYNRequest): BytePtr function ITraceDYNRequestImpl_getDataLengthDispatcher(this: ITraceDYNRequest): Cardinal; cdecl; begin + Result := 0; try Result := ITraceDYNRequestImpl(this).getDataLength(); except @@ -14030,6 +14330,7 @@ function ITraceDYNRequestImpl_getDataLengthDispatcher(this: ITraceDYNRequest): C function ITraceDYNRequestImpl_getTextDispatcher(this: ITraceDYNRequest): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceDYNRequestImpl(this).getText(); except @@ -14047,6 +14348,7 @@ constructor ITraceDYNRequestImpl.create; function ITraceContextVariableImpl_getNameSpaceDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceContextVariableImpl(this).getNameSpace(); except @@ -14056,6 +14358,7 @@ function ITraceContextVariableImpl_getNameSpaceDispatcher(this: ITraceContextVar function ITraceContextVariableImpl_getVarNameDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceContextVariableImpl(this).getVarName(); except @@ -14065,6 +14368,7 @@ function ITraceContextVariableImpl_getVarNameDispatcher(this: ITraceContextVaria function ITraceContextVariableImpl_getVarValueDispatcher(this: ITraceContextVariable): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceContextVariableImpl(this).getVarValue(); except @@ -14082,6 +14386,7 @@ constructor ITraceContextVariableImpl.create; function ITraceProcedureImpl_getProcNameDispatcher(this: ITraceProcedure): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceProcedureImpl(this).getProcName(); except @@ -14091,6 +14396,7 @@ function ITraceProcedureImpl_getProcNameDispatcher(this: ITraceProcedure): PAnsi function ITraceProcedureImpl_getInputsDispatcher(this: ITraceProcedure): ITraceParams; cdecl; begin + Result := nil; try Result := ITraceProcedureImpl(this).getInputs(); except @@ -14100,6 +14406,7 @@ function ITraceProcedureImpl_getInputsDispatcher(this: ITraceProcedure): ITraceP function ITraceProcedureImpl_getPerfDispatcher(this: ITraceProcedure): PerformanceInfoPtr; cdecl; begin + Result := nil; try Result := ITraceProcedureImpl(this).getPerf(); except @@ -14117,6 +14424,7 @@ constructor ITraceProcedureImpl.create; function ITraceFunctionImpl_getFuncNameDispatcher(this: ITraceFunction): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceFunctionImpl(this).getFuncName(); except @@ -14126,6 +14434,7 @@ function ITraceFunctionImpl_getFuncNameDispatcher(this: ITraceFunction): PAnsiCh function ITraceFunctionImpl_getInputsDispatcher(this: ITraceFunction): ITraceParams; cdecl; begin + Result := nil; try Result := ITraceFunctionImpl(this).getInputs(); except @@ -14135,6 +14444,7 @@ function ITraceFunctionImpl_getInputsDispatcher(this: ITraceFunction): ITracePar function ITraceFunctionImpl_getResultDispatcher(this: ITraceFunction): ITraceParams; cdecl; begin + Result := nil; try Result := ITraceFunctionImpl(this).getResult(); except @@ -14144,6 +14454,7 @@ function ITraceFunctionImpl_getResultDispatcher(this: ITraceFunction): ITracePar function ITraceFunctionImpl_getPerfDispatcher(this: ITraceFunction): PerformanceInfoPtr; cdecl; begin + Result := nil; try Result := ITraceFunctionImpl(this).getPerf(); except @@ -14161,6 +14472,7 @@ constructor ITraceFunctionImpl.create; function ITraceTriggerImpl_getTriggerNameDispatcher(this: ITraceTrigger): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceTriggerImpl(this).getTriggerName(); except @@ -14170,6 +14482,7 @@ function ITraceTriggerImpl_getTriggerNameDispatcher(this: ITraceTrigger): PAnsiC function ITraceTriggerImpl_getRelationNameDispatcher(this: ITraceTrigger): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceTriggerImpl(this).getRelationName(); except @@ -14179,6 +14492,7 @@ function ITraceTriggerImpl_getRelationNameDispatcher(this: ITraceTrigger): PAnsi function ITraceTriggerImpl_getActionDispatcher(this: ITraceTrigger): Integer; cdecl; begin + Result := 0; try Result := ITraceTriggerImpl(this).getAction(); except @@ -14188,6 +14502,7 @@ function ITraceTriggerImpl_getActionDispatcher(this: ITraceTrigger): Integer; cd function ITraceTriggerImpl_getWhichDispatcher(this: ITraceTrigger): Integer; cdecl; begin + Result := 0; try Result := ITraceTriggerImpl(this).getWhich(); except @@ -14197,6 +14512,7 @@ function ITraceTriggerImpl_getWhichDispatcher(this: ITraceTrigger): Integer; cde function ITraceTriggerImpl_getPerfDispatcher(this: ITraceTrigger): PerformanceInfoPtr; cdecl; begin + Result := nil; try Result := ITraceTriggerImpl(this).getPerf(); except @@ -14214,6 +14530,7 @@ constructor ITraceTriggerImpl.create; function ITraceServiceConnectionImpl_getKindDispatcher(this: ITraceServiceConnection): Cardinal; cdecl; begin + Result := 0; try Result := ITraceServiceConnectionImpl(this).getKind(); except @@ -14223,6 +14540,7 @@ function ITraceServiceConnectionImpl_getKindDispatcher(this: ITraceServiceConnec function ITraceServiceConnectionImpl_getProcessIDDispatcher(this: ITraceServiceConnection): Integer; cdecl; begin + Result := 0; try Result := ITraceServiceConnectionImpl(this).getProcessID(); except @@ -14232,6 +14550,7 @@ function ITraceServiceConnectionImpl_getProcessIDDispatcher(this: ITraceServiceC function ITraceServiceConnectionImpl_getUserNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getUserName(); except @@ -14241,6 +14560,7 @@ function ITraceServiceConnectionImpl_getUserNameDispatcher(this: ITraceServiceCo function ITraceServiceConnectionImpl_getRoleNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getRoleName(); except @@ -14250,6 +14570,7 @@ function ITraceServiceConnectionImpl_getRoleNameDispatcher(this: ITraceServiceCo function ITraceServiceConnectionImpl_getCharSetDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getCharSet(); except @@ -14259,6 +14580,7 @@ function ITraceServiceConnectionImpl_getCharSetDispatcher(this: ITraceServiceCon function ITraceServiceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getRemoteProtocol(); except @@ -14268,6 +14590,7 @@ function ITraceServiceConnectionImpl_getRemoteProtocolDispatcher(this: ITraceSer function ITraceServiceConnectionImpl_getRemoteAddressDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getRemoteAddress(); except @@ -14277,6 +14600,7 @@ function ITraceServiceConnectionImpl_getRemoteAddressDispatcher(this: ITraceServ function ITraceServiceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceServiceConnection): Integer; cdecl; begin + Result := 0; try Result := ITraceServiceConnectionImpl(this).getRemoteProcessID(); except @@ -14286,6 +14610,7 @@ function ITraceServiceConnectionImpl_getRemoteProcessIDDispatcher(this: ITraceSe function ITraceServiceConnectionImpl_getRemoteProcessNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getRemoteProcessName(); except @@ -14295,6 +14620,7 @@ function ITraceServiceConnectionImpl_getRemoteProcessNameDispatcher(this: ITrace function ITraceServiceConnectionImpl_getServiceIDDispatcher(this: ITraceServiceConnection): Pointer; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getServiceID(); except @@ -14304,6 +14630,7 @@ function ITraceServiceConnectionImpl_getServiceIDDispatcher(this: ITraceServiceC function ITraceServiceConnectionImpl_getServiceMgrDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getServiceMgr(); except @@ -14313,6 +14640,7 @@ function ITraceServiceConnectionImpl_getServiceMgrDispatcher(this: ITraceService function ITraceServiceConnectionImpl_getServiceNameDispatcher(this: ITraceServiceConnection): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceServiceConnectionImpl(this).getServiceName(); except @@ -14330,6 +14658,7 @@ constructor ITraceServiceConnectionImpl.create; function ITraceStatusVectorImpl_hasErrorDispatcher(this: ITraceStatusVector): Boolean; cdecl; begin + Result := false; try Result := ITraceStatusVectorImpl(this).hasError(); except @@ -14339,6 +14668,7 @@ function ITraceStatusVectorImpl_hasErrorDispatcher(this: ITraceStatusVector): Bo function ITraceStatusVectorImpl_hasWarningDispatcher(this: ITraceStatusVector): Boolean; cdecl; begin + Result := false; try Result := ITraceStatusVectorImpl(this).hasWarning(); except @@ -14348,6 +14678,7 @@ function ITraceStatusVectorImpl_hasWarningDispatcher(this: ITraceStatusVector): function ITraceStatusVectorImpl_getStatusDispatcher(this: ITraceStatusVector): IStatus; cdecl; begin + Result := nil; try Result := ITraceStatusVectorImpl(this).getStatus(); except @@ -14357,6 +14688,7 @@ function ITraceStatusVectorImpl_getStatusDispatcher(this: ITraceStatusVector): I function ITraceStatusVectorImpl_getTextDispatcher(this: ITraceStatusVector): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceStatusVectorImpl(this).getText(); except @@ -14374,6 +14706,7 @@ constructor ITraceStatusVectorImpl.create; function ITraceSweepInfoImpl_getOITDispatcher(this: ITraceSweepInfo): Int64; cdecl; begin + Result := 0; try Result := ITraceSweepInfoImpl(this).getOIT(); except @@ -14383,6 +14716,7 @@ function ITraceSweepInfoImpl_getOITDispatcher(this: ITraceSweepInfo): Int64; cde function ITraceSweepInfoImpl_getOSTDispatcher(this: ITraceSweepInfo): Int64; cdecl; begin + Result := 0; try Result := ITraceSweepInfoImpl(this).getOST(); except @@ -14392,6 +14726,7 @@ function ITraceSweepInfoImpl_getOSTDispatcher(this: ITraceSweepInfo): Int64; cde function ITraceSweepInfoImpl_getOATDispatcher(this: ITraceSweepInfo): Int64; cdecl; begin + Result := 0; try Result := ITraceSweepInfoImpl(this).getOAT(); except @@ -14401,6 +14736,7 @@ function ITraceSweepInfoImpl_getOATDispatcher(this: ITraceSweepInfo): Int64; cde function ITraceSweepInfoImpl_getNextDispatcher(this: ITraceSweepInfo): Int64; cdecl; begin + Result := 0; try Result := ITraceSweepInfoImpl(this).getNext(); except @@ -14410,6 +14746,7 @@ function ITraceSweepInfoImpl_getNextDispatcher(this: ITraceSweepInfo): Int64; cd function ITraceSweepInfoImpl_getPerfDispatcher(this: ITraceSweepInfo): PerformanceInfoPtr; cdecl; begin + Result := nil; try Result := ITraceSweepInfoImpl(this).getPerf(); except @@ -14436,6 +14773,7 @@ procedure ITraceLogWriterImpl_addRefDispatcher(this: ITraceLogWriter); cdecl; function ITraceLogWriterImpl_releaseDispatcher(this: ITraceLogWriter): Integer; cdecl; begin + Result := 0; try Result := ITraceLogWriterImpl(this).release(); except @@ -14445,6 +14783,7 @@ function ITraceLogWriterImpl_releaseDispatcher(this: ITraceLogWriter): Integer; function ITraceLogWriterImpl_writeDispatcher(this: ITraceLogWriter; buf: Pointer; size: Cardinal): Cardinal; cdecl; begin + Result := 0; try Result := ITraceLogWriterImpl(this).write(buf, size); except @@ -14454,6 +14793,7 @@ function ITraceLogWriterImpl_writeDispatcher(this: ITraceLogWriter; buf: Pointer function ITraceLogWriterImpl_write_sDispatcher(this: ITraceLogWriter; status: IStatus; buf: Pointer; size: Cardinal): Cardinal; cdecl; begin + Result := 0; try Result := ITraceLogWriterImpl(this).write_s(status, buf, size); except @@ -14471,6 +14811,7 @@ constructor ITraceLogWriterImpl.create; function ITraceInitInfoImpl_getConfigTextDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceInitInfoImpl(this).getConfigText(); except @@ -14480,6 +14821,7 @@ function ITraceInitInfoImpl_getConfigTextDispatcher(this: ITraceInitInfo): PAnsi function ITraceInitInfoImpl_getTraceSessionIDDispatcher(this: ITraceInitInfo): Integer; cdecl; begin + Result := 0; try Result := ITraceInitInfoImpl(this).getTraceSessionID(); except @@ -14489,6 +14831,7 @@ function ITraceInitInfoImpl_getTraceSessionIDDispatcher(this: ITraceInitInfo): I function ITraceInitInfoImpl_getTraceSessionNameDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceInitInfoImpl(this).getTraceSessionName(); except @@ -14498,6 +14841,7 @@ function ITraceInitInfoImpl_getTraceSessionNameDispatcher(this: ITraceInitInfo): function ITraceInitInfoImpl_getFirebirdRootDirectoryDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceInitInfoImpl(this).getFirebirdRootDirectory(); except @@ -14507,6 +14851,7 @@ function ITraceInitInfoImpl_getFirebirdRootDirectoryDispatcher(this: ITraceInitI function ITraceInitInfoImpl_getDatabaseNameDispatcher(this: ITraceInitInfo): PAnsiChar; cdecl; begin + Result := nil; try Result := ITraceInitInfoImpl(this).getDatabaseName(); except @@ -14516,6 +14861,7 @@ function ITraceInitInfoImpl_getDatabaseNameDispatcher(this: ITraceInitInfo): PAn function ITraceInitInfoImpl_getConnectionDispatcher(this: ITraceInitInfo): ITraceDatabaseConnection; cdecl; begin + Result := nil; try Result := ITraceInitInfoImpl(this).getConnection(); except @@ -14525,6 +14871,7 @@ function ITraceInitInfoImpl_getConnectionDispatcher(this: ITraceInitInfo): ITrac function ITraceInitInfoImpl_getLogWriterDispatcher(this: ITraceInitInfo): ITraceLogWriter; cdecl; begin + Result := nil; try Result := ITraceInitInfoImpl(this).getLogWriter(); except @@ -14551,6 +14898,7 @@ procedure ITracePluginImpl_addRefDispatcher(this: ITracePlugin); cdecl; function ITracePluginImpl_releaseDispatcher(this: ITracePlugin): Integer; cdecl; begin + Result := 0; try Result := ITracePluginImpl(this).release(); except @@ -14560,6 +14908,7 @@ function ITracePluginImpl_releaseDispatcher(this: ITracePlugin): Integer; cdecl; function ITracePluginImpl_trace_get_errorDispatcher(this: ITracePlugin): PAnsiChar; cdecl; begin + Result := nil; try Result := ITracePluginImpl(this).trace_get_error(); except @@ -14569,6 +14918,7 @@ function ITracePluginImpl_trace_get_errorDispatcher(this: ITracePlugin): PAnsiCh function ITracePluginImpl_trace_attachDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; create_db: Boolean; att_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_attach(connection, create_db, att_result); except @@ -14578,6 +14928,7 @@ function ITracePluginImpl_trace_attachDispatcher(this: ITracePlugin; connection: function ITracePluginImpl_trace_detachDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; drop_db: Boolean): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_detach(connection, drop_db); except @@ -14587,6 +14938,7 @@ function ITracePluginImpl_trace_detachDispatcher(this: ITracePlugin; connection: function ITracePluginImpl_trace_transaction_startDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; tpb_length: Cardinal; tpb: BytePtr; tra_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_transaction_start(connection, transaction, tpb_length, tpb, tra_result); except @@ -14596,6 +14948,7 @@ function ITracePluginImpl_trace_transaction_startDispatcher(this: ITracePlugin; function ITracePluginImpl_trace_transaction_endDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; commit: Boolean; retain_context: Boolean; tra_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_transaction_end(connection, transaction, commit, retain_context, tra_result); except @@ -14605,6 +14958,7 @@ function ITracePluginImpl_trace_transaction_endDispatcher(this: ITracePlugin; co function ITracePluginImpl_trace_proc_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; procedure_: ITraceProcedure; started: Boolean; proc_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_proc_execute(connection, transaction, procedure_, started, proc_result); except @@ -14614,6 +14968,7 @@ function ITracePluginImpl_trace_proc_executeDispatcher(this: ITracePlugin; conne function ITracePluginImpl_trace_trigger_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; trigger: ITraceTrigger; started: Boolean; trig_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_trigger_execute(connection, transaction, trigger, started, trig_result); except @@ -14623,6 +14978,7 @@ function ITracePluginImpl_trace_trigger_executeDispatcher(this: ITracePlugin; co function ITracePluginImpl_trace_set_contextDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; variable: ITraceContextVariable): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_set_context(connection, transaction, variable); except @@ -14632,6 +14988,7 @@ function ITracePluginImpl_trace_set_contextDispatcher(this: ITracePlugin; connec function ITracePluginImpl_trace_dsql_prepareDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_dsql_prepare(connection, transaction, statement, time_millis, req_result); except @@ -14641,6 +14998,7 @@ function ITracePluginImpl_trace_dsql_prepareDispatcher(this: ITracePlugin; conne function ITracePluginImpl_trace_dsql_freeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; statement: ITraceSQLStatement; option: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_dsql_free(connection, statement, option); except @@ -14650,6 +15008,7 @@ function ITracePluginImpl_trace_dsql_freeDispatcher(this: ITracePlugin; connecti function ITracePluginImpl_trace_dsql_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; started: Boolean; req_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_dsql_execute(connection, transaction, statement, started, req_result); except @@ -14659,6 +15018,7 @@ function ITracePluginImpl_trace_dsql_executeDispatcher(this: ITracePlugin; conne function ITracePluginImpl_trace_blr_compileDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; time_millis: Int64; req_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_blr_compile(connection, transaction, statement, time_millis, req_result); except @@ -14668,6 +15028,7 @@ function ITracePluginImpl_trace_blr_compileDispatcher(this: ITracePlugin; connec function ITracePluginImpl_trace_blr_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceBLRStatement; req_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_blr_execute(connection, transaction, statement, req_result); except @@ -14677,6 +15038,7 @@ function ITracePluginImpl_trace_blr_executeDispatcher(this: ITracePlugin; connec function ITracePluginImpl_trace_dyn_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; request: ITraceDYNRequest; time_millis: Int64; req_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_dyn_execute(connection, transaction, request, time_millis, req_result); except @@ -14686,6 +15048,7 @@ function ITracePluginImpl_trace_dyn_executeDispatcher(this: ITracePlugin; connec function ITracePluginImpl_trace_service_attachDispatcher(this: ITracePlugin; service: ITraceServiceConnection; att_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_service_attach(service, att_result); except @@ -14695,6 +15058,7 @@ function ITracePluginImpl_trace_service_attachDispatcher(this: ITracePlugin; ser function ITracePluginImpl_trace_service_startDispatcher(this: ITracePlugin; service: ITraceServiceConnection; switches_length: Cardinal; switches: PAnsiChar; start_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_service_start(service, switches_length, switches, start_result); except @@ -14704,6 +15068,7 @@ function ITracePluginImpl_trace_service_startDispatcher(this: ITracePlugin; serv function ITracePluginImpl_trace_service_queryDispatcher(this: ITracePlugin; service: ITraceServiceConnection; send_item_length: Cardinal; send_items: BytePtr; recv_item_length: Cardinal; recv_items: BytePtr; query_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_service_query(service, send_item_length, send_items, recv_item_length, recv_items, query_result); except @@ -14713,6 +15078,7 @@ function ITracePluginImpl_trace_service_queryDispatcher(this: ITracePlugin; serv function ITracePluginImpl_trace_service_detachDispatcher(this: ITracePlugin; service: ITraceServiceConnection; detach_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_service_detach(service, detach_result); except @@ -14722,6 +15088,7 @@ function ITracePluginImpl_trace_service_detachDispatcher(this: ITracePlugin; ser function ITracePluginImpl_trace_event_errorDispatcher(this: ITracePlugin; connection: ITraceConnection; status: ITraceStatusVector; function_: PAnsiChar): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_event_error(connection, status, function_); except @@ -14731,6 +15098,7 @@ function ITracePluginImpl_trace_event_errorDispatcher(this: ITracePlugin; connec function ITracePluginImpl_trace_event_sweepDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; sweep: ITraceSweepInfo; sweep_state: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_event_sweep(connection, sweep, sweep_state); except @@ -14740,6 +15108,7 @@ function ITracePluginImpl_trace_event_sweepDispatcher(this: ITracePlugin; connec function ITracePluginImpl_trace_func_executeDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; function_: ITraceFunction; started: Boolean; func_result: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_func_execute(connection, transaction, function_, started, func_result); except @@ -14749,6 +15118,7 @@ function ITracePluginImpl_trace_func_executeDispatcher(this: ITracePlugin; conne function ITracePluginImpl_trace_dsql_restartDispatcher(this: ITracePlugin; connection: ITraceDatabaseConnection; transaction: ITraceTransaction; statement: ITraceSQLStatement; number: Cardinal): Boolean; cdecl; begin + Result := false; try Result := ITracePluginImpl(this).trace_dsql_restart(connection, transaction, statement, number); except @@ -14775,6 +15145,7 @@ procedure ITraceFactoryImpl_addRefDispatcher(this: ITraceFactory); cdecl; function ITraceFactoryImpl_releaseDispatcher(this: ITraceFactory): Integer; cdecl; begin + Result := 0; try Result := ITraceFactoryImpl(this).release(); except @@ -14793,6 +15164,7 @@ procedure ITraceFactoryImpl_setOwnerDispatcher(this: ITraceFactory; r: IReferenc function ITraceFactoryImpl_getOwnerDispatcher(this: ITraceFactory): IReferenceCounted; cdecl; begin + Result := nil; try Result := ITraceFactoryImpl(this).getOwner(); except @@ -14802,6 +15174,7 @@ function ITraceFactoryImpl_getOwnerDispatcher(this: ITraceFactory): IReferenceCo function ITraceFactoryImpl_trace_needsDispatcher(this: ITraceFactory): QWord; cdecl; begin + Result := 0; try Result := ITraceFactoryImpl(this).trace_needs(); except @@ -14811,6 +15184,7 @@ function ITraceFactoryImpl_trace_needsDispatcher(this: ITraceFactory): QWord; cd function ITraceFactoryImpl_trace_createDispatcher(this: ITraceFactory; status: IStatus; init_info: ITraceInitInfo): ITracePlugin; cdecl; begin + Result := nil; try Result := ITraceFactoryImpl(this).trace_create(status, init_info); except @@ -14846,6 +15220,7 @@ procedure IUdrFunctionFactoryImpl_setupDispatcher(this: IUdrFunctionFactory; sta function IUdrFunctionFactoryImpl_newItemDispatcher(this: IUdrFunctionFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalFunction; cdecl; begin + Result := nil; try Result := IUdrFunctionFactoryImpl(this).newItem(status, context, metadata); except @@ -14881,6 +15256,7 @@ procedure IUdrProcedureFactoryImpl_setupDispatcher(this: IUdrProcedureFactory; s function IUdrProcedureFactoryImpl_newItemDispatcher(this: IUdrProcedureFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalProcedure; cdecl; begin + Result := nil; try Result := IUdrProcedureFactoryImpl(this).newItem(status, context, metadata); except @@ -14916,6 +15292,7 @@ procedure IUdrTriggerFactoryImpl_setupDispatcher(this: IUdrTriggerFactory; statu function IUdrTriggerFactoryImpl_newItemDispatcher(this: IUdrTriggerFactory; status: IStatus; context: IExternalContext; metadata: IRoutineMetadata): IExternalTrigger; cdecl; begin + Result := nil; try Result := IUdrTriggerFactoryImpl(this).newItem(status, context, metadata); except @@ -14933,6 +15310,7 @@ constructor IUdrTriggerFactoryImpl.create; function IUdrPluginImpl_getMasterDispatcher(this: IUdrPlugin): IMaster; cdecl; begin + Result := nil; try Result := IUdrPluginImpl(this).getMaster(); except @@ -15091,6 +15469,7 @@ constructor IInt128Impl.create; function IReplicatedFieldImpl_getNameDispatcher(this: IReplicatedField): PAnsiChar; cdecl; begin + Result := nil; try Result := IReplicatedFieldImpl(this).getName(); except @@ -15100,6 +15479,7 @@ function IReplicatedFieldImpl_getNameDispatcher(this: IReplicatedField): PAnsiCh function IReplicatedFieldImpl_getTypeDispatcher(this: IReplicatedField): Cardinal; cdecl; begin + Result := 0; try Result := IReplicatedFieldImpl(this).getType(); except @@ -15109,6 +15489,7 @@ function IReplicatedFieldImpl_getTypeDispatcher(this: IReplicatedField): Cardina function IReplicatedFieldImpl_getSubTypeDispatcher(this: IReplicatedField): Integer; cdecl; begin + Result := 0; try Result := IReplicatedFieldImpl(this).getSubType(); except @@ -15118,6 +15499,7 @@ function IReplicatedFieldImpl_getSubTypeDispatcher(this: IReplicatedField): Inte function IReplicatedFieldImpl_getScaleDispatcher(this: IReplicatedField): Integer; cdecl; begin + Result := 0; try Result := IReplicatedFieldImpl(this).getScale(); except @@ -15127,6 +15509,7 @@ function IReplicatedFieldImpl_getScaleDispatcher(this: IReplicatedField): Intege function IReplicatedFieldImpl_getLengthDispatcher(this: IReplicatedField): Cardinal; cdecl; begin + Result := 0; try Result := IReplicatedFieldImpl(this).getLength(); except @@ -15136,6 +15519,7 @@ function IReplicatedFieldImpl_getLengthDispatcher(this: IReplicatedField): Cardi function IReplicatedFieldImpl_getCharSetDispatcher(this: IReplicatedField): Cardinal; cdecl; begin + Result := 0; try Result := IReplicatedFieldImpl(this).getCharSet(); except @@ -15145,6 +15529,7 @@ function IReplicatedFieldImpl_getCharSetDispatcher(this: IReplicatedField): Card function IReplicatedFieldImpl_getDataDispatcher(this: IReplicatedField): Pointer; cdecl; begin + Result := nil; try Result := IReplicatedFieldImpl(this).getData(); except @@ -15162,6 +15547,7 @@ constructor IReplicatedFieldImpl.create; function IReplicatedRecordImpl_getCountDispatcher(this: IReplicatedRecord): Cardinal; cdecl; begin + Result := 0; try Result := IReplicatedRecordImpl(this).getCount(); except @@ -15171,6 +15557,7 @@ function IReplicatedRecordImpl_getCountDispatcher(this: IReplicatedRecord): Card function IReplicatedRecordImpl_getFieldDispatcher(this: IReplicatedRecord; index: Cardinal): IReplicatedField; cdecl; begin + Result := nil; try Result := IReplicatedRecordImpl(this).getField(index); except @@ -15180,6 +15567,7 @@ function IReplicatedRecordImpl_getFieldDispatcher(this: IReplicatedRecord; index function IReplicatedRecordImpl_getRawLengthDispatcher(this: IReplicatedRecord): Cardinal; cdecl; begin + Result := 0; try Result := IReplicatedRecordImpl(this).getRawLength(); except @@ -15189,6 +15577,7 @@ function IReplicatedRecordImpl_getRawLengthDispatcher(this: IReplicatedRecord): function IReplicatedRecordImpl_getRawDataDispatcher(this: IReplicatedRecord): BytePtr; cdecl; begin + Result := nil; try Result := IReplicatedRecordImpl(this).getRawData(); except @@ -15331,6 +15720,7 @@ procedure IReplicatedSessionImpl_addRefDispatcher(this: IReplicatedSession); cde function IReplicatedSessionImpl_releaseDispatcher(this: IReplicatedSession): Integer; cdecl; begin + Result := 0; try Result := IReplicatedSessionImpl(this).release(); except @@ -15349,6 +15739,7 @@ procedure IReplicatedSessionImpl_setOwnerDispatcher(this: IReplicatedSession; r: function IReplicatedSessionImpl_getOwnerDispatcher(this: IReplicatedSession): IReferenceCounted; cdecl; begin + Result := nil; try Result := IReplicatedSessionImpl(this).getOwner(); except @@ -15358,6 +15749,7 @@ function IReplicatedSessionImpl_getOwnerDispatcher(this: IReplicatedSession): IR function IReplicatedSessionImpl_initDispatcher(this: IReplicatedSession; status: IStatus; attachment: IAttachment): Boolean; cdecl; begin + Result := false; try Result := IReplicatedSessionImpl(this).init(status, attachment); except @@ -15367,6 +15759,7 @@ function IReplicatedSessionImpl_initDispatcher(this: IReplicatedSession; status: function IReplicatedSessionImpl_startTransactionDispatcher(this: IReplicatedSession; status: IStatus; transaction: ITransaction; number: Int64): IReplicatedTransaction; cdecl; begin + Result := nil; try Result := IReplicatedSessionImpl(this).startTransaction(status, transaction, number); except @@ -15428,11 +15821,14 @@ class procedure FbException.catchException(status: IStatus; e: Exception); statusVector: array[0..4] of NativeIntPtr; msg: AnsiString; begin + if (not Assigned(status)) then + Exit; + if (e.inheritsFrom(FbException)) then status.setErrors(FbException(e).getStatus.getErrors) else begin - msg := e.message; + msg := AnsiString(e.message); statusVector[0] := NativeIntPtr(isc_arg_gds); statusVector[1] := NativeIntPtr(isc_random); @@ -15444,14 +15840,11 @@ class procedure FbException.catchException(status: IStatus; e: Exception); end end; -class procedure FbException.setVersionError(status: IStatus; interfaceName: string; +class procedure FbException.setVersionError(status: IStatus; interfaceName: AnsiString; currentVersion, expectedVersion: NativeInt); var statusVector: array[0..8] of NativeIntPtr; - msg: AnsiString; begin - msg := interfaceName; - statusVector[0] := NativeIntPtr(isc_arg_gds); statusVector[1] := NativeIntPtr(isc_interface_version_too_old); statusVector[2] := NativeIntPtr(isc_arg_number); @@ -15459,7 +15852,7 @@ class procedure FbException.setVersionError(status: IStatus; interfaceName: stri statusVector[4] := NativeIntPtr(isc_arg_number); statusVector[5] := NativeIntPtr(currentVersion); statusVector[6] := NativeIntPtr(isc_arg_string); - statusVector[7] := NativeIntPtr(PAnsiChar(msg)); + statusVector[7] := NativeIntPtr(PAnsiChar(interfaceName)); statusVector[8] := NativeIntPtr(isc_arg_end); status.setErrors(@statusVector); diff --git a/src/misc/pascal/Pascal.implementation.pas b/src/misc/pascal/Pascal.implementation.pas index 3a25fe54f93..d44ac7ab3a0 100644 --- a/src/misc/pascal/Pascal.implementation.pas +++ b/src/misc/pascal/Pascal.implementation.pas @@ -26,11 +26,14 @@ class procedure FbException.catchException(status: IStatus; e: Exception); statusVector: array[0..4] of NativeIntPtr; msg: AnsiString; begin + if (not Assigned(status)) then + Exit; + if (e.inheritsFrom(FbException)) then status.setErrors(FbException(e).getStatus.getErrors) else begin - msg := e.message; + msg := AnsiString(e.message); statusVector[0] := NativeIntPtr(isc_arg_gds); statusVector[1] := NativeIntPtr(isc_random); @@ -42,14 +45,11 @@ class procedure FbException.catchException(status: IStatus; e: Exception); end end; -class procedure FbException.setVersionError(status: IStatus; interfaceName: string; +class procedure FbException.setVersionError(status: IStatus; interfaceName: AnsiString; currentVersion, expectedVersion: NativeInt); var statusVector: array[0..8] of NativeIntPtr; - msg: AnsiString; begin - msg := interfaceName; - statusVector[0] := NativeIntPtr(isc_arg_gds); statusVector[1] := NativeIntPtr(isc_interface_version_too_old); statusVector[2] := NativeIntPtr(isc_arg_number); @@ -57,7 +57,7 @@ class procedure FbException.setVersionError(status: IStatus; interfaceName: stri statusVector[4] := NativeIntPtr(isc_arg_number); statusVector[5] := NativeIntPtr(currentVersion); statusVector[6] := NativeIntPtr(isc_arg_string); - statusVector[7] := NativeIntPtr(PAnsiChar(msg)); + statusVector[7] := NativeIntPtr(PAnsiChar(interfaceName)); statusVector[8] := NativeIntPtr(isc_arg_end); status.setErrors(@statusVector); diff --git a/src/misc/pascal/Pascal.interface.pas b/src/misc/pascal/Pascal.interface.pas index a45bb7050c6..1cf8653696c 100644 --- a/src/misc/pascal/Pascal.interface.pas +++ b/src/misc/pascal/Pascal.interface.pas @@ -7,7 +7,7 @@ FbException = class(Exception) class procedure checkException(status: IStatus); class procedure catchException(status: IStatus; e: Exception); - class procedure setVersionError(status: IStatus; interfaceName: string; + class procedure setVersionError(status: IStatus; interfaceName: AnsiString; currentVersion, expectedVersion: NativeInt); private