Вниз
Скачать: 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.013 c
15-1186482650
sql_
2007-08-07 14:30
2007.09.02
function


2-1186904544
Ezorcist
2007-08-12 11:42
2007.09.02
Как задать время в системе?


8-1164552655
Vovan#2
2006-11-26 17:50
2007.09.02
Звук и запись звука


1-1182725258
ssa
2007-06-25 02:47
2007.09.02
Как заменить выделенный текст в memo?


11-1169072058
ZiTRaX
2007-01-18 01:14
2007.09.02
Файл KOL.pas, созданный GlueCut для FreePascal




   Наверх