Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
8-1145342391
mike66
2006-04-18 10:39
2006.11.26
bezie


15-1162983932
Jeer
2006-11-08 14:05
2006.11.26
Стенограмм Гордона.


15-1162458132
Cyrax
2006-11-02 12:02
2006.11.26
Ограничение прав пользователя в Windows XP


15-1162630426
Сэм
2006-11-04 11:53
2006.11.26
системный лоток (system tray).


2-1163157062
novill
2006-11-10 14:11
2006.11.26
Переменную из dll можно экспортировать, а как ее использовать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский