Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.11.2010, 17:37
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
Печаль События в Delphi 2010/XE

Доброго времени суток!

У меня возникла проблема в 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  
Старый 29.11.2010, 17:58
stil stil вне форума
Новичок
 
Регистрация: 24.11.2010
Сообщения: 91
Репутация: 41
По умолчанию

ExitButton.Items[n].OnClick := ExitButtonClick;
может так

Последний раз редактировалось stil, 29.11.2010 в 18:03.
Ответить с цитированием
  #3  
Старый 29.11.2010, 21:45
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
По умолчанию

Нет, не работает...
Ответить с цитированием
  #4  
Старый 29.11.2010, 22:26
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Вот так работать будет:
Код:
  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  
Старый 30.11.2010, 01:56
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Вообще-то и недолжно работать. Насколько я в курсе, предполагается, что для обработки события может быть использован только метод класса, а не любая процедура.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 30.11.2010, 08:34
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
По умолчанию

Спасибо) Тему считаем закрытой...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025