递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
楼主: qaz2428119
打印 上一主题 下一主题

[视窗] 求一个非静态方法的类方法回调的方法

[复制链接]

25

主题

488

帖子

1737

积分

金牌会员

Rank: 6Rank: 6

积分
1737
11#
 楼主| 发表于 2021-8-4 17:40:52 | 只看该作者
kyozy 发表于 2021-7-23 16:55
子类化可以通过窗口句柄传递, 你再说说还有哪些不能传递参数

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

使用道具 举报

4

主题

38

帖子

572

积分

高级会员

Rank: 4

积分
572
12#
发表于 2021-8-15 10:50:17 | 只看该作者
qaz2428119 发表于 2021-8-4 17:40
我不是要传递参数
是要一个实例类一个自定义的回调函数

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

使用道具 举报

25

主题

488

帖子

1737

积分

金牌会员

Rank: 6Rank: 6

积分
1737
13#
 楼主| 发表于 2021-8-15 15:20:51 | 只看该作者
kyozy 发表于 2021-8-15 10:50
传递了 this 参数, 就不就可以在类成员函数回调了

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

使用道具 举报

4

主题

38

帖子

572

积分

高级会员

Rank: 4

积分
572
14#
发表于 2021-8-17 14:27:32 | 只看该作者
本帖最后由 kyozy 于 2021-8-17 14:36 编辑
qaz2428119 发表于 2021-8-15 15:20
问题是 取到的方法地址,不会自动添加上 this 参数,必须有用户自己主动添加这个 this 指针 ...

这有什么问题,  要么这些你自己处理, 不是用户处理.要么如果你需要用户自己提供非静态成员函数, 那估计你只能写成事件, 就好像火山自己的窗口事件那些一样.用户就只需要选择事件, 代码都不用写了.


回复

使用道具 举报

25

主题

488

帖子

1737

积分

金牌会员

Rank: 6Rank: 6

积分
1737
15#
 楼主| 发表于 2021-8-20 12:52:29 | 只看该作者
kyozy 发表于 2021-8-17 14:27
这有什么问题,  要么这些你自己处理, 不是用户处理.要么如果你需要用户自己提供非静态成员函数, 那估计你 ...

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

使用道具 举报

4

主题

38

帖子

572

积分

高级会员

Rank: 4

积分
572
16#
发表于 2021-9-1 00:06:37 | 只看该作者
HOOK的话必须是非成员函数, 因为要求参数一样, 而成员函数有一个隐藏的this参数, 也就是多一个参数.
回复

使用道具 举报

25

主题

488

帖子

1737

积分

金牌会员

Rank: 6Rank: 6

积分
1737
17#
 楼主| 发表于 2021-9-4 19:45:53 | 只看该作者
kyozy 发表于 2021-9-1 00:06
HOOK的话必须是非成员函数, 因为要求参数一样, 而成员函数有一个隐藏的this参数, 也就是多一个参数. ...

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

使用道具 举报

21

主题

290

帖子

1291

积分

金牌会员

Rank: 6Rank: 6

积分
1291
18#
发表于 2023-2-19 20:33:52 | 只看该作者
kyozy 发表于 2021-7-23 16:55
子类化可以通过窗口句柄传递, 你再说说还有哪些不能传递参数

SetTimer 就没法传递
回复

使用道具 举报

4

主题

38

帖子

572

积分

高级会员

Rank: 4

积分
572
19#
发表于 2023-2-28 14:18:08 | 只看该作者
没传this参数的, 就没办法作为成员函数, 就算火山帮你实现, 也是传参数,只不过传的地方可能是其他地方, 比如寄存器, 反正都要找个地方传this
回复

使用道具 举报

25

主题

488

帖子

1737

积分

金牌会员

Rank: 6Rank: 6

积分
1737
20#
 楼主| 发表于 2023-2-28 21:58:26 | 只看该作者
kyozy 发表于 2023-2-28 14:18
没传this参数的, 就没办法作为成员函数, 就算火山帮你实现, 也是传参数,只不过传的地方可能是其他地方, 比 ...

就是这个问题,希望汇编高手帮忙实现这个功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-6-26 17:05 , Processed in 0.096913 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表