Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.041 c
14-1099134267
DiamondShark
2004-10-30 15:04
2004.11.21
Даже Word их не любит...


11-1082825835
Fak
2004-04-24 20:57
2004.11.21
Applet := Result.Form ???


14-1099522689
Сашок
2004-11-04 01:58
2004.11.21
Железо


3-1098865954
Its
2004-10-27 12:32
2004.11.21
Добавление записи в БД


6-1095061870
Comp
2004-09-13 11:51
2004.11.21
Перехват





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский