Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

непонятки с TNotifyEvent [D5, Win95/98, Win2k, WinXP]


Yaro ©   (2002-08-16 17:00:00) 

Люди! Что за фигня тут? пишу следующее:

procedure OnTemp(Sender: TObject);
begin
...
end;

...

var temp: TNotifyEvent;

...

temp := OnTemp; //пишет ОШИБКА - Incompatible types:
//method pointer and regular procedure

помогите найти ошибку - хоть убей - не вижу :(


Yaro   (2002-08-16 18:32:00) [1]

Большое спасибо! Вы очень помогли мне!


Skier   (2002-08-16 17:26:00) [2]

>Yaro

Ежели я всё правильно понял, то
примерно так :


TYaroComponent = class(TComponent)
private
FMaskEdit : TMaskEdit;
procedure MaskEditChange(Sender : TObject);
procedure SetMaskEdit(const Value: TMaskEdit);
public
constructor Create(AOwner : TComponent); override;
property MaskEdit : TMaskEdit read FMaskEdit write
SetMaskEdit;
end; //TYaroComponent


{ TYaroComponent }

constructor TYaroComponent.Create(AOwner : TComponent);
begin
inherited Create(AOwner);
FMaskEdit := nil;
end;

procedure TYaroComponent.MaskEditChange(Sender: TObject);
begin
//your code goes here...
end;

procedure TYaroComponent.SetMaskEdit(const Value: TMaskEdit);
begin
FMaskEdit := Value;
if FMaskEdit <> nil then FMaskEdit.OnChange := MaskEditChange;
end;


Yaro   (2002-08-16 17:19:00) [3]

тоесть... побробнее и с примером, пожалуйста...

Дело, собственной вот в чем -
пишу невизуальный компонент, в него передается MaskEdit, а от с ним выполняет всякие махинации. Короче передавать-то передает, описываю в секции private _MaskEdit: TMaskEdit;
Все, вроде как, хорошо, но мне надо поставить обработчик события на этот MaskEdit. как это сделать?


Skier   (2002-08-16 17:06:00) [4]

>Yaro
procedure OnTemp(Sender: TObject); должна быть объявлена
в классе.


Наверх

Титульная страница Поиск, карта сайта Написать письмо