Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Назначаем процедуру   Найти похожие ветки 

 
Alibaba ©   (2004-03-21 06:39) [0]

1. Описываю процедуру

procedure MyClick(Sender: TObject)
begin
...
end

2. В Run-Time создаю компонент TButton.
3. Хочу что-бы при клике на TButton выполнялась моя процедура

TButton.OnClick:=MyClick;

Появляется сообщение об ошибке:
Incompatible types: "method pointer and regular procedure"

Если я описываю процедуру в главной форме:

type
 TfrmMain = class(TForm)
 ...
 procedure MyClick(Sender: TObject);
 ...
 end;


Тогда все работает.
Но есть необходимость описать процедуру НЕ в главной форме.
Как это сделать?


 
uw ©   (2004-03-21 07:52) [1]

property OnClick: TNotifyEvent;
type TNotifyEvent = procedure (Sender: TObject) of object;

Слова of object означают, что мы должны писать не простую процедуру, а метод какого-нибудь класса. Можешь написать так:

type
 TAnuClass = class
   procedure MyClick(Sender: TObject);
 end;

procedure TAnuClass.MyClick(Sender: TObject);
begin
...
end;



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

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.033 c
1-1082717576
Roman_M
2004-04-23 14:52
2004.04.11
Работа с dll из Дельфей 3-х и 6-х.


14-1078800394
mfender
2004-03-09 05:46
2004.04.11
70 лет первому космонавту!


3-1081924991
Andriy Tysh
2004-04-14 10:43
2004.04.11
ClientDataSet.ApplyUpdates(0) for 2 Dataset s


14-1079744422
Dudao
2004-03-20 04:00
2004.04.11
Чистка кода


1-1080196979
X9
2004-03-25 09:42
2004.04.11
Ошибка при вызове функции из DLL.