Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
10-1022576756
Вячеслав Кляйн
2002-05-28 13:05
2004.08.01
Странные проблемы вроде бы на пустом месте...


3-1089311171
GanibalLector
2004-07-08 22:26
2004.08.01
Пломбы...


3-1089192594
Fast
2004-07-07 13:29
2004.08.01
Explorer like ComboBox


3-1089189767
astrix
2004-07-07 12:42
2004.08.01
Сохранение в базу


4-1087311145
Антон
2004-06-15 18:52
2004.08.01
Управление "чужим таймером"?




   Наверх