FindComponent
ищет компоненты, принадлежащие субъекту вызова метода. Вы вызываете gbSelectionCriteria
форму, и поэтому ищите компонент среди тех компонентов, которыми владеет эта форма. Но элемент управления, который вы ищете, не принадлежит форме, он принадлежит Owner
, и это то, что вы передали конструктору FindComponent
элемента управления в качестве аргумента.
Если вы хотите использовать FindComponent
так, как вы это делаете, вам необходимо сделать форму владельцем создаваемых элементов управления. Затем, когда вы вызываете FindComponent
форму, она может найти элемент управления, потому что он является владельцем. Перейдите Self
к конструктору элемента управления, чтобы это произошло:
TMyAdvEdit.Create(Self)
Мне нужно сделать некоторые довольно большие догадки. Возможно, этот код фактически находится в модуле данных, а не в форме. Но основной принцип будет, как я уже сказал.