Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизОбращение к TMenuItem Найти похожие ветки
← →
Wood (2004-11-07 11:48) [0]Пожалуйста, помогите.
Создаю в run time пункты меню, присваиваю NMenu.name:="nm0". Во время выполнения программы пытаюсь найти (обратиться) к новому пункту меню: if TmenuItem(FindComponent("nm0"))<> nil. А он все равно равен nil.В чем ошибка?
Спасибо.
← →
Palladin © (2004-11-07 12:37) [1]а почему он не должен быть равен nil?
← →
Wood (2004-11-07 12:46) [2]>Palladin [1]
Если компонент TMenuItem создан и у него есть имя (name), то почему он nil? Ведь он существует! Вопрос был "в чем ошибка?"
← →
Palladin © (2004-11-07 12:49) [3]где он существует?
← →
Anatoly Podgoretsky © (2004-11-07 13:04) [4]В том контейнере он не существует
← →
Wood (2004-11-07 13:13) [5]Вы говорите загадками. Объясните, пожалуйста
← →
Palladin © (2004-11-07 13:16) [6]Я повторяю вопрос. Где он, по твоему мнению, существует?
← →
Wood (2004-11-07 13:16) [7]Все же, как правильно сделать?
В моем коде такие строки:
procedure....
var NewItem: TMenuItem;
begin
NewItem:=TMenuItem.create(self);
NewItem.name:="nm0";
NewItem.Caption:="New";
end;
Где и как создан этот пункт меню, что я не могу его найти функцией FindComponent(name)?
← →
Wood (2004-11-07 13:19) [8]Забыл дописать к процедуре создания
Open1.add(NewItem); //(добавляется в пункт главного меню)
Затем FindComponent() или Open1.FindComponent(name) - получается NIL
← →
Anatoly Podgoretsky © (2004-11-07 13:48) [9]Какое то загадочное Open1
← →
Wood (2004-11-07 14:03) [10]Open1 - пункт главного меню, куда добавляется новый Item. Что тут загадочного. Лучше объясните, что не так?
← →
Wood (2004-11-07 14:23) [11]Open1 - идентификатор пункта главного меню
← →
Wood (2004-11-07 14:52) [12]Удалено модератором
← →
Defunct © (2004-11-07 17:33) [13]> Wood
вот вам примерчик, изучайте:procedure TForm1.Button1Click(Sender: TObject);
var M : TMenuItem;
ComponentName : String;
begin
M := TMenuItem.Create( Self );
with M do
Try
ComponentName := "menu"+IntToStr( MenuIdx );
Name := ComponentName;
Caption := Name;
Inc(MenuIdx);
try
TMenuItem( Self.FindComponent("mFile") ).Add( M );
except
ShowMessage("there is no component with mFile name");
end;
Show
except
end;
if FindComponent( ComponentName )<>nil then
ShowMessage("there is "+ ComponentName )
end;
← →
Wood (2004-11-07 18:34) [14]>Defunct [13]
Посмотрю, спасибо
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c