Главная страница
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.027 c
14-1089386907
rOOse
2004-07-09 19:28
2004.08.01
HTML формы


4-1087395044
Erik1
2004-06-16 18:10
2004.08.01
Теория загрузки упакованого файла?


1-1090344661
Виталий
2004-07-20 21:31
2004.08.01
Undeclared Identifier


1-1090395146
kingdom
2004-07-21 11:32
2004.08.01
История DirectX


3-1089033398
RainKM
2004-07-05 17:16
2004.08.01
Бази Даных