Текущий архив: 2005.12.04;
Скачать: CL | DM;
Вниз
Создание объектов. Найти похожие ветки
← →
x.pro (2005-11-06 12:03) [0]Здравствуйте!
Ерунда какая-то у меня утворилась. Ничего понять не могу. В общем. Есть два юнита Unit1 и Unit2. Первый это у меня набор функций и процедур. а второй - форма, использующая эти процедуры и ф-ции.
так вот, в первом есть процедура создания ToolBar"а. создается он в ScrollBox"е
procedure CreateBar(cName: string; ParentSB: TScrollBox; ShowCapt, ShowPic: Boolean; ImgList: TImageList);
var Bar: TToolbar;
begin
Bar := TToolbar.Create(ParentSB);
Bar.Parent := ParentSB;
Bar.Name := cName;
Bar.List := true;
Bar.AutoSize := true;
Bar.EdgeBorders := [ebBottom];
Bar.Flat := true;
Bar.ShowCaptions := ShowCapt;
if ShowPic then bar.Images := ImgList else bar.Images := nil;
end;
а в Unit2, где форма, я её вызываю:
procedure TForm1.Btn1Click(sender: tobject);
begin
CreateBar(BarNameEdit.Text,
TScrollBox(FindComponent(...)),
ShowCaptCB.Checked, // checkBox
ShowPicCB.Checked, // checkBox
ImageList);
end;
допустим BarNameEdit.Text := "TestToolBar". при нажатии на кнопку, начинает материться, мол, "control "TestToolBar" has no parent window" хотя ScrollBox уже есть. Только мне его отыскивать надо.
Промогите, пожайлуста, в чем причина!?
Спасибо, заранее.
← →
jack128 © (2005-11-06 12:13) [1]x.pro (06.11.05 12:03)
Только мне его отыскивать надо
то есть в данном коде scrollbar не находится?? И в процедуре CreateBar параметр ParentSB равен nil???значит в FindComponent ты передаешь не правельное имя скрола.
PS параметр ShowPic в твоей процедуре нафиг не нужен..
← →
Sergey Masloff (2005-11-06 12:17) [2]>FindComponent(...)),
Ищешь то ты ищешь а находишь ?
← →
x.pro (2005-11-06 12:21) [3]Нет нет. история такая. на форме ScrollBar ов несколько и я куда хочу, туда и создаю этот ToolBar. у меня имена ScrollBar"ов в списке храняться.
FindComponent(listBox1.Items[ListBox1.ItemIndex].Text). вот так я его ищу.
А в качестве параметра передаю найденный.
эта процедура вызывается на форме (Unit2) из Unit1
Unit1.CreateBar(BarNameEdit.Text,
TScrollBox(FindComponent(listBox1.Items[ListBox1.ItemIndex].Text)),
...
);
← →
x.pro (2005-11-06 12:22) [4]
> Sergey Masloff (06.11.05 12:17) [2]
нахожу однозначно.
← →
x.pro (2005-11-06 12:27) [5]Народ, огромное вам спасибо!
решение найдено. Глупая ошибка была.
Вот зы не замечали? пока с кем-то не начнешь обчеждать проблему, решенеи не найдешь. У меня такое часто.
Спасибо, ребята, выручили!
← →
x.pro (2005-11-06 12:28) [6]Да, и прошу прощения за ошибки :)
← →
x.pro (2005-11-06 12:31) [7]А хотя, спот. нифига! решение не найдено! Код не срабатывает! опять такая же феня! Тут ведь имя ScrollBox"а не играет роли.
← →
x.pro (2005-11-06 12:38) [8]
> jack128 © (06.11.05 12:13) [1]
нет уж. нужен. дело в том, что я хочу выбирать показывать мне картинки или нет.
← →
jack128 © (2005-11-06 12:42) [9]x.pro (06.11.05 12:38) [8]
нет уж. нужен. дело в том, что я хочу выбирать показывать мне картинки или нет.
и что? если хочешь показывать картинки - предовай imagelist, а не хочешь - nil
← →
Сайбель Алексей © (2005-11-06 13:49) [10]ага, вот так:
procedure CreateBar(cName: string; ParentSB: TScrollBox; ShowCapt: Boolean; ImgList: TImageList = nil);
Вызывать можешь хоть с параметром ImgList, хоть без него.
← →
x.pro (2005-11-06 15:19) [11]Спасибо всем!
Страницы: 1 вся ветка
Текущий архив: 2005.12.04;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.049 c