Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Комбинатор ©   (2004-07-19 15:43:00) 

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

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

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

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


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

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


Digitman   (2004-07-19 16:28:00) [2]


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


> Почему?


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


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

Podgoretsky :))

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


Anatoly Podgoretsky   (2004-07-19 16:04:00) [4]

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


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


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

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


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

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


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

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


Smithson   (2004-07-19 15:47:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо