Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.02;
Скачать: CL | DM;

Вниз

IMethodHandler - параметры?   Найти похожие ветки 

 
d_oleg ©   (2007-06-25 22:30) [0]

Кто-нибудь задавал универсальные обработчики обытий с помощью интерфейса IMethodHandler из ObjAuto.pas? Хотелось бы проверить свой код, ибо возникают проблемы с передачей параметров. Параметры, передаваемые через регистры, передаются нормально, а при передаче через стек передается черте-что :(


 
Плохиш ©   (2007-06-25 22:34) [1]


> ибо возникают проблемы с передачей параметров

Надо прямо указывать направлениое пвередачи параметров.


 
d_oleg ©   (2007-06-26 09:33) [2]


> Надо прямо указывать направлениое пвередачи параметров.
поясни (in/out что ли?)


 
Плохиш ©   (2007-06-26 11:06) [3]

stdcall/cdecl/...


 
d_oleg ©   (2007-06-26 11:50) [4]

Нет, дело не в этом, дело в смещении.

Ты касался этой темы? Я почему спрашиваю, там разбираться надо.
Если я правильно понимаю, при передаче параметров внутри процедуры-обработчика события объекта TMethodHandlerInstance RegisterStub (ObjAuto.pas, строки 772-776) принимаются параметры события, причем все они, если верить отладчику, попадают в TParameters.Stack, как параметр вызова процедуры Handler, что для меня странно. Почему это происходит - не знаю :(
В-общем, если начальное смещение в стеке (ObjAuto.pas, 679) увеличивать на размер 2х регистров, то все передается как надо. Но как-то это все неправильно...



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

Текущий архив: 2007.09.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
11-1168803255
vampir_infernal
2007-01-14 22:34
2007.09.02
проблема с KOLPrinters


8-1165148806
Alex_C
2006-12-03 15:26
2007.09.02
Как в колонках воспроизвести сигнал определенной частоты?


8-1164454425
Vulix
2006-11-25 14:33
2007.09.02
Наложение прозрачного изображения с помощью маски


15-1186130415
исследователь
2007-08-03 12:40
2007.09.02
Непонятная строчка кода


2-1186761790
denewb
2007-08-10 20:03
2007.09.02
Comparing signed and unsigned types - widened both operands