![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IMethodHandler - параметры?
d_oleg © (2007-06-25 22:30:00)Кто-нибудь задавал универсальные обработчики обытий с помощью интерфейса IMethodHandler из ObjAuto.pas? Хотелось бы проверить свой код, ибо возникают проблемы с передачей параметров. Параметры, передаваемые через регистры, передаются нормально, а при передаче через стек передается черте-что :(
d_oleg (2007-06-26 11:50:00) [1]Нет, дело не в этом, дело в смещении.
Ты касался этой темы? Я почему спрашиваю, там разбираться надо.
Если я правильно понимаю, при передаче параметров внутри процедуры-обработчика события объекта TMethodHandlerInstance RegisterStub(ObjAuto.pas, строки 772-776) принимаются параметры события, причем все они, если верить отладчику, попадают в TParameters.Stack, как параметр вызова процедуры Handler, что для меня странно. Почему это происходит - не знаю :(
В-общем, если начальное смещение в стеке (ObjAuto.pas, 679) увеличивать на размер 2х регистров, то все передается как надо. Но как-то это все неправильно...
Плохиш (2007-06-26 11:06:00) [2]stdcall/cdecl/...
d_oleg (2007-06-26 09:33:00) [3]
> Надо прямо указывать направлениое пвередачи параметров.
поясни (in/out что ли?)
Плохиш (2007-06-25 22:34:00) [4]
> ибо возникают проблемы с передачей параметров
Надо прямо указывать направлениое пвередачи параметров.