Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Вниз

Описание классов 


Satrap   (2001-12-28 13:19) [0]

Уважаемые мастера, ответьте на вопрос, можно ли объявлять
процедурный тип с дерективой stdcall например
type
TMyType=procedure (var Message:TMessage) of object stdcall;

при подобном объявлении параметры передаются как бы сдвинутыми влево, если кто может, помогите.



Владислав   (2001-12-28 13:20) [1]

Удалено модератором



vuk   (2001-12-28 13:56) [2]

Если уж "of object", то еще один параметр будет добавлен неявно. Этот параметр - указатель на экземпляр (то же, что и self в методах объектов).



Юрий Зотов   (2001-12-28 14:54) [3]

Я бы не рискнул сочетать "of object" с "stdcall". Думаю, что это приведет к ошибке при выполнении реального вызова (вряд ли методы дельфишных объектов могут работать по соглашению stdcall).

А если не сочетать, то это будет не метод объекта, а обычная процедура - и тогда почему бы и нет?

Поэтому, если уж очень нужно, то объявите просто процедуру
TMyType = procedure(var Message:TMessage); stdcall;
и уже из нее вызывайте метод объекта (ссылку на его экземпляр процедура может получить, например, через глобальную переменную).



vuk   (2001-12-28 15:30) [4]

>вряд ли методы дельфишных объектов могут работать по соглашению
>stdcall
Работают. Как из ружья... Единственное ограничение по форматам вызовов - у методов доступа published свойств. Они могут быть только register.



Иван Шихалев   (2001-12-28 22:27) [5]

прекрасно работает (кроме published)

а объявляентся так :

TMyType=procedure (var Message:TMessage) of object ; stdcall;



Satrap   (2002-01-06 07:39) [6]

большое всем спасибо за помощь




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.021 c
1-75542           Michael               2002-01-04 15:27  2002.01.24  
доступ к адресной книге Outlook Express


4-75724           WarChilD              2001-11-23 20:47  2002.01.24  
Изм. системного времени и отсл. запущеного процесса


14-75648          Mike_Goblin           2001-11-26 14:29  2002.01.24  
День Варенья у Sir Alex


1-75613           Трынкин Сергей        2002-01-08 11:28  2002.01.24  
Подскажите пожалуйста где взять ADOExpress Update Pack 1


1-75585           RealGrey              2002-01-04 15:31  2002.01.24  
Как записать в TDBGrid данные, но с Source ом их не связывать