Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ TActionManager: Control `` has no parent windows

Автор: Den7 21.08.2003 14:34

Привет All!
Создаю свой компонент и внутри которого хочу поместить меню и панель с кнопочками с помощью TActionManager.

Это я объявил...

Код
   xActionManager: TActionManager;
   xActionMainMenuBar: TActionMainMenuBar;
   xAction:TAction;
   xActionClient:TActionClient;
   xActionClientItem:TActionClientItem;
   xCollection:TCollection;
   xActionBarItem:TActionBarItem;


Перекрыл метод Create...
Где создаю TActionManager, TActionMainMenuBar... один TAction и вставляю его в строчку меню...

Код
constructor TmyComponent.Create(aOwner: TComponent);
begin
 inherited Create(aOwner);

 xActionManager:=TActionManager.Create(Self);
 xActionManager.Name:='ActionManager';

 xActionMainMenuBar:=TActionMainMenuBar.Create(Self);
 xActionMainMenuBar.Name:='mmb';
 xActionMainMenuBar.Parent:=Self;
 
 xAction:=TAction.Create(Self);
 xAction.Caption:='aCaption';
 xAction.Enabled:=true;
 xAction.Visible:=true;
 xAction.Name:='aName';

 xActionClient:=TActionClient.Create(nil);
 FzActionManager.AddAction(xAction,xActionClient);

 xActionBarItem:=xActionManager.ActionBars.Add;
 xActionBarItem.ActionBar:=xActionMainMenuBar;
 xActionBarItem.AutoSize:=false;
 xActionClientItem:=xActionBarItem.Items.Add;

 xActionClientItem.Action:= xAction;

end;
...

компилирую ...
..но как только я его бросаю на форму появляется ошибка "Control `` has no parent windows"... sad.gif(
Что я делаю не так? помогите очень нужно...

Если закомментировать xActionClientItem.Action:= xAction;
компилирую, бросаю на форму... все без ошибок... не удаляя компонент с формы.. раз комментирую строчку ... компилю... смотрю на форму с компонентном там уже появилась кнопока в меню...
Помогите разобраться! Что не так?

Автор: Vit 21.08.2003 16:44

Присвоить что-то свойству parent

Автор: Vetos 24.09.2007 16:03

Цитата(Vit @ 21.08.2003 12:44) *

Присвоить что-то свойству parent

а что именно присвоить, пробовал такое Parent.HandleNeeded, тоже самое, хотя при Parent.Create выдает ошибку
компиляции но тогда когда уже кидаю компонент на форму wacko.gif

Автор: Гость 3.11.2007 3:08

Parent := <тип parent>(aOwner)