Создание и удаление TFields во время выполнения |
![]() |
![]() |
Статьи |
Компоненты TField (или более точно, потомки компонента TField) могут быть созданы во время проектирования, используя Потомки компонента TField (типа TStringField, TIntegerField и т.п.) создаются, вызывая метод Create для потомка типа TField соответствующего поля в наборе данных. То есть, метод Create для TStringField потомка TField вызывался бы, чтобы создать потомка TField строкового типа в текущем наборе данных. Методу Create передается один параметр - владельца потомка TField, каковым является форма, которая его содержит (TForm). После создания потомка компонента TField, большинство ключевых свойств должно быть установлено, чтобы связать его с полем в наборе данных. Это:
Отрывок кода ниже демонстрирует создание TStringField. Контейнер TForm называется Form1 (упоминается здесь как переменная Self), активный набор данных - TQuery называется Query1, а поле, для которого создается компонент TStringField - поле таблицы Этот новый потомок будет вторым TField в массиве свойства Fields для Query1. Обратите внимание, что набор данных, с которым новый потомок TField будет связан (в нашем случае Query1) должен быть закрыт перед добавлением TField и затем заново открыт.
Этот пример создает новый TStringField по имени Query1CO_NAME. Для удаления существующего потомка TField просто вызовите метод Free для этого компонента. В примере ниже используется метод TForm FindComponent, чтобы возвратить указатель на компонент TStringField по имени Query1CO_NAME. Возвращаемое значение для FindComponent будет иметь тип TComponent, если успешно, или nil при неудаче. Возвращаемое значение может использоваться, чтобы определить, существует ли компонент фактически до вызова метода Free.
Как и с созданием TField, если набор данных, связанный с потомком TField, активен, он должен быть закрыт или деактивирован перед вызовом этого метода. По материалам http://delphi.3000.com |