Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизСобытие Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c