Добавление изображения в TTabItem в Firemonkey
У меня есть TTabControl с одной вкладкой, которая отображает изображение на вкладке, когда поле на вкладке имеет содержимое. Я назначил ImageList для TTabControl. Когда я добавляю дополнительные элементы TTabItem в TTabControl, я не могу назначить ImageIndex позже в коде. Вот как я добавляю новую вкладку:
procedure TfrmAddEditItem.LoadCustomFields;
var
NewTab: TTabItem;
begin
...
NewTab := TTabItem.Create(tabPictures);
NewTab.Name := 'tab2';
NewTab.Text := FieldByName('FieldName').AsString;
NewTab.Visible := True;
NewTab.Enabled := True;
NewTab.Tag := tabPictures.TabCount + 1;
NewTab.Parent := tabPictures;
...
end;
Но в другой функции в форме, когда я пытаюсь установить изображение на вкладке, я получаю исключение нарушения доступа:
procedure TfrmAddEditItem.LoadDataFields;
var
FormFieldName: string;
DBFieldName: string;
begin
...
FormFieldName := 'tab' + FieldByName('FieldID').AsString;
DBFieldName := 'Field' + FieldByName('FieldID').AsString;
Tab := TTabItem(Self.FindComponent(FormFieldName));
if FieldByName(DBFieldName).IsNull then
Tab.ImageIndex := -1
else
Tab.ImageIndex := 0;
...
end;
Как я могу программно установить значение ImageIndex для TTabItem, добавленного в код? (Обратите внимание, что есть и другие события, в которых я также хочу настроить изображение на основе значения в поле базы данных.)