qaz2428119 发表于 2021-8-4 17:40:52

kyozy 发表于 2021-7-23 16:55
子类化可以通过窗口句柄传递, 你再说说还有哪些不能传递参数

我不是要传递参数
是要一个实例类一个自定义的回调函数

kyozy 发表于 2021-8-15 10:50:17

qaz2428119 发表于 2021-8-4 17:40
我不是要传递参数
是要一个实例类一个自定义的回调函数

传递了 this 参数, 就不就可以在类成员函数回调了

qaz2428119 发表于 2021-8-15 15:20:51

kyozy 发表于 2021-8-15 10:50
传递了 this 参数, 就不就可以在类成员函数回调了

问题是 取到的方法地址,不会自动添加上 this 参数,必须有用户自己主动添加这个 this 指针

kyozy 发表于 2021-8-17 14:27:32

本帖最后由 kyozy 于 2021-8-17 14:36 编辑

qaz2428119 发表于 2021-8-15 15:20
问题是 取到的方法地址,不会自动添加上 this 参数,必须有用户自己主动添加这个 this 指针 ...
这有什么问题,要么这些你自己处理, 不是用户处理.要么如果你需要用户自己提供非静态成员函数, 那估计你只能写成事件, 就好像火山自己的窗口事件那些一样.用户就只需要选择事件, 代码都不用写了.


qaz2428119 发表于 2021-8-20 12:52:29

kyozy 发表于 2021-8-17 14:27
这有什么问题,要么这些你自己处理, 不是用户处理.要么如果你需要用户自己提供非静态成员函数, 那估计你 ...

就比如 HOOK 系统函数 ,你给我写个 回调试试,我怀疑你根本就没理解

kyozy 发表于 2021-9-1 00:06:37

HOOK的话必须是非成员函数, 因为要求参数一样, 而成员函数有一个隐藏的this参数, 也就是多一个参数.

qaz2428119 发表于 2021-9-4 19:45:53

kyozy 发表于 2021-9-1 00:06
HOOK的话必须是非成员函数, 因为要求参数一样, 而成员函数有一个隐藏的this参数, 也就是多一个参数. ...

如果是使用非成员函数,就没有办法一个类实例对应一个回调,就只能共用回调,这样就导致只能是全局函数

wangvoldp 发表于 2023-2-19 20:33:52

kyozy 发表于 2021-7-23 16:55
子类化可以通过窗口句柄传递, 你再说说还有哪些不能传递参数

SetTimer 就没法传递

kyozy 发表于 2023-2-28 14:18:08

没传this参数的, 就没办法作为成员函数, 就算火山帮你实现, 也是传参数,只不过传的地方可能是其他地方, 比如寄存器, 反正都要找个地方传this

qaz2428119 发表于 2023-2-28 21:58:26

kyozy 发表于 2023-2-28 14:18
没传this参数的, 就没办法作为成员函数, 就算火山帮你实现, 也是传参数,只不过传的地方可能是其他地方, 比 ...

就是这个问题,希望汇编高手帮忙实现这个功能
页: 1 [2] 3
查看完整版本: 求一个非静态方法的类方法回调的方法