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

Вниз

Где тело процедуры объявленной след. образом:   Найти похожие ветки 

 
Комбинатор   (2004-07-19 15:43) [0]

......
У меня в модуле (не мной написанном) объявлено следующее:

property OnError : TScriptErrorEvent read FOnError write FOnError;
.......................................................
FOnError : TScriptErrorEvent;
.......................................................
TScriptErrorEvent = procedure (Stmt : TScriptStatement; Error : Exception) of object;
........................................................

Мне требуется свойство OnError, но немогу его определить.
Объясните пожалуйста как и где описано тело процедуры;

Предположил сначало , что надо самому его писать (что мне самому удобно) и потом передавать модулю, но как это сделать (передать) не знаю.


 
Smithson ©   (2004-07-19 15:47) [1]

Процедура, реализующая это свойство, должна быть присвоена полю FOnError. Соответственно, ищещь FOnError := ...


 
Комбинатор   (2004-07-19 15:54) [2]

в этом модуле FOnError := ... нет, есть только вызов
FOnError(Stmt,E); (входные параметры соответствующих типов).
У меня есть доступ к свойству OnError из моей программы,
и мне надо достать от туда Exception.


 
Комбинатор   (2004-07-19 15:57) [3]

и ещё что значит TScriptErrorEvent = procedure (Stmt : TScriptStatement; Error : Exception) of object;
Какого объекта?


 
clickmaker ©   (2004-07-19 16:00) [4]


> Комбинатор   (19.07.04 15:57) [3]

Это значит, что процедура должна быть членом класса


 
Anatoly Podgoretsky ©   (2004-07-19 16:04) [5]

Комбинатор   (19.07.04 15:54) [2]
Таких может быть много, в том числе и 0


 
Комбинатор   (2004-07-19 16:21) [6]

Podgoretsky :))

И всё же:
У меня есть доступ к свойству Tobj.OnError (свойство типа TScriptErrorEvent , т.е. процедура).
Мне надо ему присвоить точку входа своей процедуры.
Но на  Obj.OnError:=MyProc(..) пишет:
[Error] : Incompatible types: method pointer and regular procedure
 
Почему?


 
Digitman ©   (2004-07-19 16:28) [7]


> Комбинатор   (19.07.04 16:21) [6]


> Почему?


потому что MyProc(..) должна быть процедурным методом класса (1), а не обычной процедурой (2)... ты разницу между (1) и (2) хоть сколь-либо ощущаешь ?


 
Комбинатор   (2004-07-19 16:29) [8]

Всё сделал....



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

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

Наверх




Память: 0.48 MB
Время: 0.066 c
1-1090305108
Кодер
2004-07-20 10:31
2004.08.01
ActionManager и ActionToolBar


1-1090326277
ИМХО
2004-07-20 16:24
2004.08.01
Большой текстовый файл


1-1089961491
zedalex
2004-07-16 11:04
2004.08.01
Пробежка по ячейкам в StringGrid


14-1089890356
ruslan
2004-07-15 15:19
2004.08.01
krasiviy tekst


3-1089286411
Vopros
2004-07-08 15:33
2004.08.01
Имя пользователя