读书人

问一个有关rtti的深度有关问题

发布时间: 2013-03-27 11:22:42 作者: rapoo

问一个有关rtti的深度问题
窗体上一个按钮,在onclick事件里面写了代码,
然后我用GetMethodProp把onclick事件的方法地址保存起来,再用SetMethodProp将按钮的事件替换成我的方法 NewClick,然后我再NewClick内部调用我原先保存的原来的OnClick,但是在执行原来的OnClick的时候,发生了内存错误,似乎是本应有的一个self值变成了nil,有没有办法通过汇编,在调用原来的onclck之前将self值设置好

不知道有谁处理过类似问题,指点一下?
[解决办法]
你delphi什么版本?

改成试试


asm
pushad
mov edx, oldMethod.Data
mov ebx, oldMethod.Code
call ebx
popad
end;

[解决办法]
引用:
to aqtata:
那几行汇编编译不过去:
call FOldMthod.Code
[dcc32 Error] Unit1.pas(51): E2116 Invalid combination of opcode and operands

不支持操作数,可以声明个变量再调用啊,或者试试楼上的办法

读书人网 >.NET

热点推荐