递归火山软件开发平台

 找回密码
 立即注册
搜索
热搜: 火山 源码 类库

这种回调如何封装

查看数: 1576 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-7-21 21:31

正文摘要:

问题如下: 在封装时碰到结构体中的成员类型,为回调。 这种如何封装呢? typedef struct FMOD_CREATESOUNDEXINFO { FMOD_SOUND_NONBLOCK_CALLBACK   nonblockcallback;复制代码typedef FMOD_RESULT (F_CAL ...

回复

Xelloss0618 发表于 2025-7-21 22:58:42
<火山程序 类型 = "通常" 版本 = 1 />

类 FMOD_CREATESOUNDEXINFO <公开 @别名 = "FMOD_CREATESOUNDEXINFO" @别名类型 = 本地结构>
{
    方法 回调 <公开 静态 属性写>
    参数 本结构 <类型 = FMOD_CREATESOUNDEXINFO>
    参数 函数指针 <类型 = 变整数 注释 = "用\"取静态方法地址\"">
    {
        @ @<本结构>.nonblockcallback = (FMOD_SOUND_NONBLOCK_CALLBACK)@<函数指针>;
    }

    方法 置回调 <公开 静态 @嵌入式方法 = @"\"\"\"">
    参数 本结构 <类型 = FMOD_CREATESOUNDEXINFO>
    参数 回调函数 <@匹配方法 = "回调函数模板">
    {
        @ @<本结构>.nonblockcallback = &@<回调函数>
    }

    方法 回调函数模板 <静态 类型 = FMOD_RESULT @视窗.前缀文本 = "@F_CALL">
    参数 sound <类型 = FMOD_SOUND指针>
    参数 result <类型 = FMOD_SOUND指针>
    {
        变量 返回值 <类型 = FMOD_RESULT>
        返回 (返回值)
    }

    #
}

沉默流星 发表于 2025-7-21 22:25:19
Xelloss0618 发表于 2025-7-21 22:19
1、封装成属性写,参数类型用变整数,方法里强转
2、封装成嵌入式方法,参数用@匹配方法 ...

能否给写个例子
Xelloss0618 发表于 2025-7-21 22:19:47
1、封装成属性写,参数类型用变整数,方法里强转
2、封装成嵌入式方法,参数用@匹配方法
沉默流星 发表于 2025-7-21 22:15:15
hcwanz 发表于 2025-7-21 21:45
强转一下指针类型就行了吧

不行的,试过
hcwanz 发表于 2025-7-21 21:45:04
强转一下指针类型就行了吧

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

GMT+8, 2025-8-8 03:40 , Processed in 0.086276 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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