Главная страница
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.048 c
1-1090078068
slaga
2004-07-17 19:27
2004.08.01
Dll и TStringList ???


9-1081717014
Werwolf
2004-04-12 00:56
2004.08.01
Продолжение темы "Пиратов бесконечности"


4-1087048261
Игорь
2004-06-12 17:51
2004.08.01
Перехват открытия файлов


1-1090283167
Alexey Leonchik
2004-07-20 04:26
2004.08.01
Функция округления


1-1089880184
MegaVolt
2004-07-15 12:29
2004.08.01
Как из моей программы управлять TotalCommanderom?