Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Вниз

TNotifyEvent   Найти похожие ветки 

 
AndDem   (2003-10-23 17:03) [0]

Добрый день!
Динамически создаю объект TMenuItem. Как прописать ему имя процедуры, которая бы вызывалась при событии OnClick?
Заранее благодарен.


 
Reindeer Moss Eater   (2003-10-23 17:10) [1]

MenuItem.OnClick:=<имя нужной процедуры>


 
AndDem   (2003-10-23 17:12) [2]

В том-то и дело, что не проходит...
Даже если ... := TNotifyEvent(:=<имя нужной процедуры>)


 
Reindeer Moss Eater   (2003-10-23 17:13) [3]

Значит процедура не нужного типа, а другого


 
AndDem   (2003-10-23 17:16) [4]

Вроде, нормально:
procedure aaa(sender)...
Говорит:
Incompatible types: "TNotifyEvent" and "procedure, untyped pointer or untyped parameter"


 
Reindeer Moss Eater   (2003-10-23 17:19) [5]

Верь тому что говорит. Он не врет.

TNotifyEvent = procedure(Sender:TObject) of object;

А у тебя

TAnotherNotifyEvent = procedure(Sender:TObject);


 
Reindeer Moss Eater   (2003-10-23 17:20) [6]

Говоря по-русски процедура должна быть методом класса


 
AndDem   (2003-10-23 17:22) [7]

Нет, я, конечно, верю :-))
Но я пытаюсь подставить процедуру, которая уже реально подставлялась для выполнения при onclick"е на другом menuitem"е в design-time....
NewMenuItem.OnClick := InsertItemClick(Sender);
Что не так делаю?


 
AndDem   (2003-10-23 17:23) [8]

Она является таковым (в design-time delphi сама прописала)


 
Reindeer Moss Eater   (2003-10-23 17:25) [9]

:= InsertItemClick(Sender);

:= InsertItemClick;


 
AndDem   (2003-10-23 17:26) [10]

Мда... Это я перегрелся :-))))))))
Спасибо!


 
AndDem   (2003-10-23 17:50) [11]

А вот еще хитрый вопрос: можно ли как-то в процедуре InsertItemClickопределить, из какого пункта меню его вызвали, если при создании в run-time этих пунктов я везде указывал InsertItemClick? Через Sender, вроде, не получается...


 
Reindeer Moss Eater   (2003-10-23 17:51) [12]

Через Sender, вроде, как раз получается


 
AndDem   (2003-10-23 17:53) [13]

По логике -- да, но что-то не просеку, как именно :-((


 
Reindeer Moss Eater   (2003-10-23 17:57) [14]

Sender это и есть кликнутый TMenuItem. Вернее то, чего в нем есть от TObject.

Если InsertItemClick никто кроме TMenuItem"ов не имеет, то смело делай TMenuItem(Sender)


 
AndDem   (2003-10-23 18:00) [15]

Спасибо! Получилось.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.015 c
1-8526
Term
2003-10-23 16:43
2003.11.03
TTreeView...... подскажите где ошибка


9-8244
boson
2003-04-27 23:51
2003.11.03
Physical Engine


1-8516
webpauk
2003-10-23 18:06
2003.11.03
Printer


1-8441
Wizard
2003-10-21 20:16
2003.11.03
Собственный preview для Rave Reports (забыл email)


1-8375
DProg
2003-10-22 14:30
2003.11.03
Sharemem





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский