Мельница данных- Интерфейс ITableInfo (раздел целиком) (24.03.2023) | (одним файлом) |
Интерфейс ITableInfo |
Информация о таблице представляется объектом через интерфейс (наследник INamedItemInfo ) 1 ITableInfo = interface(INamedItemInfo) 2 ['{3FC1998A-9031-4936-82B5-8CAA2219085E}'] 3 function Get_FieldCount: Integer; safecall; 4 function Get_Field(Index: Integer): IFieldInfo; safecall; 5 function Get_PrimaryKey: IFieldInfo; safecall; 6 function Get_Uplink: IFieldInfo; safecall; 7 function Get_Parent: ITableInfo; safecall; 8 end;
|
1. Интерфейс ITableInfo2 |
Для таблиц, имеющих полиморфные ссылки, реализуется интерфейс (наследник ITableInfo ) 1 ITableInfo2 = interface(ITableInfo) 2 ['{9DF4C8AC-1DA2-4E7B-BF44-7EDD7A269418}'] 3 function Get_PolymorphCount: Integer; safecall; 4 function Get_PolymorphTable(Index: Integer): ITableInfo; safecall; 5 function Get_PolymorphField(Index: Integer): IFieldInfo; safecall; 6 end;Полиморфной ссылкой является, например, ссылка, физически размещенная в родительской таблице, указывающая на свою запись. Реализация этого интерфейса не является обязательной.
|
2. Интерфейс ITableInfo3 |
Для таблиц, при запросах к которым требуется наложение дополнительных условий отбора, реализуется интерфейс (наследник ITableInfo ) 01 ITableInfo3 = interface(ITableInfo) 02 ['{3FB73AA9-010C-48DA-81C7-E1DCFE2E6136}'] 03 function GetPersistentClause(const Alias: WideString): WideString; safecall; 04 function GetPreConditionsCount: Integer; safecall; 05 function GetPreConditionCaption(Index: Integer): WideString; safecall; 06 function GetPreConditionCategory(Index: Integer): WideString; safecall; 07 function Get_ActivePreCondition(Index: Integer): WordBool; safecall; 08 procedure Set_ActivePreCondition(Index: Integer; Value: WordBool); safecall; 09 function GetPreConditionParamsCount(Index: Integer): Integer; safecall; 10 function GetPreConditionParam(Index: Integer; PreConditionIndex: Integer): IOptionInfo; safecall; 11 end;
|