Durante la construcción, no todos los objetos del mismo nivel están disponibles, debido a que se crean a medida que se "extraen" del ejecutable. Sin embargo hay un método protegido llamado Loaded, que se invoca cuando todos los objetos ya han sido creados y las relaciones entre objetos ya están disponibles.
Lo normal sería utilizar este método, algo así como:
Código:
Interface
TMyDBEdit : Class(TDBEdit)
..
Protected
Procedure Loaded; override;
...
End;
Implementation
...
Procedure TDBMyEdit.Loaded;
Begin
inherited;
if not csDesigning in ComponentState Then
Hint := BuscarHintParaElCampo(Self.FieldName);
End;
...
Espero te sirva.
Hasta luego,