Как создать новый IOTAComponent на форме Delphi

Я пытаюсь написать инструмент Delphi Open Tools API для автоматического создания и обновления компонентов, которые размещены в модуле данных или в форме. Я уже могу перечислить все компоненты (каждый из которых представлен экземпляром (класс) IOTAComponent) и изменить их свойства (setPropByName(...), getPropValueByName(...)). Вопрос - как создать новый компонент - в коде API Open Tools, чтобы этот компонент был добавлен в форму модуля данных?

Я использую IOTAModuleServices, часть API, и я думаю, что это правильная часть задачи, не так ли?

1 ответ

Вам необходимо получить IOTAFormEditor интерфейс для формы / модуля данных, который вы хотите обновить, а затем вызвать его CreateComponent() метод:

type
  IOTAFormEditor = interface(IOTAEditor)
    ['{F17A7BD2-E07D-11D1-AB0B-00C04FB16FB3}']
    ...
    function CreateComponent(const Container: IOTAComponent;
      const TypeName: string; X, Y, W, H: Integer): IOTAComponent;
    ...
  end;
Другие вопросы по тегам