Dynamiczne tworzenie w constructorze komponentu

0

Piszę właśnie komponent dziedziczący po TToolBar, chodzi mi o to, żeby podczas tworzenia od razu wstawiał przyciski i inne elementy. W konstruktorze jast coś takiego (połowa wyrżnięta, ale wystarczy tworzenie jednego przycisku):

constructor TnnEdRTFToolBar.Create(AOwner: TComponent);
var btnTest: TToolButton;
begin
inherited Create(AOwner);
btnTest:=TToolButton.Create(Self);
btnTest.Parent:=Self;
end;

Błąd wywołuje linia btnTest.Parent:=Self;, ale nie można jej usunąć z powodów oczywistych :). To samo się dzieje, jak wstawiam np. TEdit, nie ważne czy w ten sposób, czy przez InsertControl albo InsertComponent. Zaznaczam też, że ten ToolBar jest przeznaczony TYLKO do dynamicznego tworzenia, więc nie trzeba się zajmować design-time.

PS. W deklaracji constructora jest override.
PS2. W komponencie dziedziczącym z TTabSheet takie samo tworzenie (RichEdit) działa bez problemu.

0

zobacz jak ja to robie tutaj masz moj komponent i bedzie wszystko jasne :)

http://www.4programmers.net/download.php?id=796

0

Albo jestem durny i nic z tego nie rozumiem :), albo to nie działa na TToolButton i TToolBar.

[dopisane]
Ok, już se poradziłem. Trochę łopatologicznie, ale działa. Nie trzeba pomagać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1