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

Вниз

Событие   Найти похожие ветки 

 
Term ©   (2006-11-07 16:24) [0]

пытаюсь создать событие

TOnSaveToFile=procedure(Sender:TObject;var FileName:string) of object;

TRtfReport=class(TAbstractReport)
 private
  fOnSaveToFile:TOnSaveToFile;
  ..................
 public
 property OnSaveToFile:TOnSaveToFile read fOnSaveToFile write fOnSaveToFile;
 procedure Print(const PrinterName:string=""); override;
 ...
 end;
далее в процедуре

procedure Print(const PrinterName:string="");есть вызов

if Assigned(fOnSaveToFile) then fOnSaveToFile(Self,FileName);

добавляю процедуру
procedure OnSavToFile(Sender:TObject;var FileName:string);

потом когда пытаюсь присвоить событию обработчик

 TRtfReport(rpt).OnSaveToFile:=OnSavToFile;
получаю матюки при попытке компиляции
[Pascal Error] prn_func.pas(105): E2009 Incompatible types: "method pointer and regular procedure"


 
Плохиш ©   (2006-11-07 16:27) [1]


> добавляю процедуру
> procedure OnSavToFile(Sender:TObject;var FileName:string);

Куда добавляешь? Она должна быть методом класса.


 
Сергей М. ©   (2006-11-07 16:27) [2]

Попытайся понять, что значит эта "матюкальная" фраза


 
MetalFan ©   (2006-11-07 17:04) [3]


> TOnSaveToFile=procedure(Sender:TObject;var FileName:string)
> of object;


напиши как

TOnSaveToFile=procedure(Sender:TObject;var FileName:string);

))


 
Term ©   (2006-11-07 17:18) [4]

тогда наверное надо объявить так
TOnSaveToFile=procedure(var FileName:string);


 
Плохиш ©   (2006-11-07 17:26) [5]


> Term ©   (07.11.06 17:18) [4]
> тогда наверное надо объявить так

Вообще-то тебе, как создателю программы, должно быть виднее.



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

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

Наверх




Память: 0.47 MB
Время: 0.051 c
15-1162985787
Сатир
2006-11-08 14:36
2006.11.26
Загадка


15-1162998173
well
2006-11-08 18:02
2006.11.26
BDS и Database Desktop


1-1161084458
Trajor!
2006-10-17 15:27
2006.11.26
Interleaved 2 of 5


2-1163083774
SerGoP
2006-11-09 17:49
2006.11.26
Нарастающий итог в столбце


3-1158961120
_Ламер_
2006-09-23 01:38
2006.11.26
Избыточность