![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Доброго времени суток!
У меня возникла проблема в Delphi XE (2011): Вот пример исходного кода: Код:
program MyApp; var ExitButton: TMenuItem; // TButton, TMenuItem, TList, TComboBox и т.д. procedure ExitButtonClick(Sender: TObject); begin { ... } end; begin { ... } ExitButton.OnClick := ExitButtonClick; // Вот в этом месте ошибка { ... } end. Ошибка: E2009 Incompatible types: 'method pointer and regular procedure' Помогите разобраться с ошибкой, уже как 3 месяца не могу понять в чем дело. Заранее спасибо! |
#2
|
|||
|
|||
![]() ExitButton.Items[n].OnClick := ExitButtonClick;
может так Последний раз редактировалось stil, 29.11.2010 в 18:03. |
#3
|
||||
|
||||
![]() Нет, не работает...
|
#4
|
||||
|
||||
![]() Вот так работать будет:
Код:
private procedure ExitButtonClick(Sender: TObject); public end; var ... ExitButton: TMenuItem; // TButton, TMenuItem, TList, TComboBox и т.д. implementation {$R *.dfm} procedure TForm1.ExitButtonClick(Sender: TObject); begin { ... } end; ... { ... } ExitButton.OnClick := ExitButtonClick; // Вот в этом месте ошибка { ... } Помогаю за Спасибо ![]() |
#5
|
||||
|
||||
![]() Вообще-то и недолжно работать. Насколько я в курсе, предполагается, что для обработки события может быть использован только метод класса, а не любая процедура.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
||||
|
||||
![]() Спасибо) Тему считаем закрытой...
|