首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rebol3中创建Hostkit事件

在Rebol3中创建Hostkit事件
EN

Stack Overflow用户
提问于 2015-03-24 15:38:52
回答 1查看 67关注 0票数 2

我正在制作一个包含GUI事件的Rebol 3扩展。现在,我使用同步回调来管理这个问题,因此每次发生类似鼠标移动的事件时,C扩展都会调用Rebol回调函数。但是我想使用REBEVT和RL->事件来管理它。

下面是一个代码示例:

代码语言:javascript
复制
case SDL_MOUSEMOTION:

    Add_Event_XY(
        RootGob, 2, (event.motion.x + (event.motion.y << 16)), EVT_MOVE
    );

    /*
    cbi.obj = CBI_SDL_MOUSEMOTION.obj;
    cbi.word = CBI_SDL_MOUSEMOTION.word;
    RXI_COUNT(args) = 1;
    RXI_TYPE(args, 1) = RXT_PAIR;
    args[1].pair.x = event.motion.x;
    args[1].pair.y = event.motion.y;
    n = RL_CALLBACK(&cbi);
    if(n == 0) {RL_PRINT("%s\n", "callback error");}
    */
    break;

但是当我在雷波做一个等待的时候,我得到:

代码语言:javascript
复制
>> wait 1
** Script error: wake-up does not allow none! for its port argument
** Where: loop -apply- wait
** Near: loop 8 [
    unless event: take sport/state [break]
    port...

如何使端口不为空?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-25 17:37:16

在R3代码中进行了一些搜索之后,我发现必须按以下方式初始化:

代码语言:javascript
复制
system/view/event-port: open event://

现在起作用了!(使用R3主线)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29236888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档