Как создать новый 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;