Мельница данных  (17.03.2024)
Интерфейс 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; 
Полиморфной ссылкой является, например, ссылка, физически размещенная в родительской таблице, указывающая на свою запись. Реализация этого интерфейса не является обязательной.
  • функция Get_PolymorphCount возвращает количество полиморфных ссылок.
  • функция Get_PolymorphTable возвращает ссылку на таблицу, на которую указывает полиморфная ссылка номер Index.
  • функция Get_PolymorphTable возвращает ссылку на поле, реализующее полиморфную ссылку номер Index. Это поле должно иметь тип dtReference, информация о его типе должна реализовать интерфейс IReferenceInfo. Значение, возвращаемое функцией Get_TargetTable этого интерфейса в данном случае не имеет значения и игнорируется.

См. также