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

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



Память: 0.45 MB
Время: 0.02 c
11-1168775119
Psychedelic
2007-01-14 14:45
2007.09.02
Как отличать друг от друга компоненты


15-1186074214
TStas
2007-08-02 21:03
2007.09.02
По каким книжкам люди инстоляторы писать учатся?


15-1185986188
oldman
2007-08-01 20:36
2007.09.02
А была ли Windows 1.0 beta?


2-1186407629
Василий
2007-08-06 17:40
2007.09.02
MainMenu в ToolBar e. А нет HotKeys. :(


8-1164093104
DVM
2006-11-21 10:11
2007.09.02
Наиболее быстро изменить размер Bitmap-а (уменьшить).




   Наверх