Главная страница
    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.033 c
1-1099473407
Max Ivanych
2004-11-03 12:16
2004.11.21
Переключение на другой лист Excel


1-1099654912
Новичек
2004-11-05 14:41
2004.11.21
Передача параметров в dll.


1-1100015007
wisekaa
2004-11-09 18:43
2004.11.21
Нужен совет (мнение) по TFrame


14-1099238656
DeadMeat
2004-10-31 19:04
2004.11.21
Eradicator


14-1099647423
vecna
2004-11-05 12:37
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский