Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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]

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



Страницы: 1 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.003 c
1-75565
BuG
2002-01-05 01:56
2002.01.24
помагите плиз


1-75592
Анатолий
2002-01-01 03:54
2002.01.24
Картинка до загрузки


1-75607
Z
2002-01-06 23:08
2002.01.24
Два Exe шника обмениваются информацией


1-75553
Анатолий
2002-01-06 06:21
2002.01.24
Литература по отчётам


4-75712
maxi
2001-11-24 12:04
2002.01.24
как узнать список дочерних окон процесса ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский