首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Awesomium C没有来自awe_webview_set_callback_js_callback的响应

Awesomium C没有来自awe_webview_set_callback_js_callback的响应
EN

Stack Overflow用户
提问于 2012-03-08 02:57:15
回答 1查看 360关注 0票数 3

我已经在Awesomium表单上问了这个问题,但我还没有收到任何回应,我想我可以通过在这里提问来加快速度。

当我按下相应的html按钮时,我无法到达callback_UI()中的任何断点。链接可以很好地在页面之间传输,但是回调不会被触发。

下面是我的简单C端代码:

代码语言:javascript
复制
#define BUFFER_LEN_CALLBACKS 100
#define NAME_UIOBJ_INDEX "object_index"
#define NAME_UICALL_INDEX "callback_index"

void callback_UI(awe_webview* view, awe_string const* object_name, awe_string const* callback_name, awe_jsarray const* args){

        char buff_object_name[BUFFER_LEN_CALLBACKS] = {0};
        char buff_callback_name[BUFFER_LEN_CALLBACKS] = {0};
        //char buff_args[BUFFER_LEN_CALLBACKS] = {0};

        // Get the strings.
        awe_string_to_utf8(object_name, buff_object_name, BUFFER_LEN_CALLBACKS);
        awe_string_to_utf8(callback_name, buff_callback_name, BUFFER_LEN_CALLBACKS);

        string s_obj_name(buff_object_name);
        string s_call_name(buff_callback_name);

        HandleCallback( s_obj_name, s_obj_name );
}

void create_uiobject(awe_webview* view, char* name){
    awe_string* awes_name = awe_string_create_from_ascii(name, sizeof(name));
    awe_webview_create_object(view, awes_name);
    awe_string_destroy(awes_name);
}

void create_uicallback(awe_webview* view,  char* name, char* callback){
    awe_string* awes_name = awe_string_create_from_ascii(name, sizeof(name));
    awe_string* awes_callback = awe_string_create_from_ascii(
        callback,sizeof(callback));
    awe_webview_set_object_callback(view, awes_name, awes_callback);
    awe_string_destroy(awes_name);
    awe_string_destroy(awes_callback);

    // Set our UI callback to let the javascript talk to our program.
    awe_webview_set_callback_js_callback(view, callback_UI);
}

void setup_javascript_objects(awe_webview* view){
    // Create our object names.
    create_uiobject(view,NAME_UIOBJ_INDEX);

    // Create our object callbacks.
    create_uicallback(view, NAME_UIOBJ_INDEX, NAME_UICALL_INDEX);
}

下面是我的html端javascript代码:

代码语言:javascript
复制
<input type="button" value="Click Me!"onclick="object_index.callback_index('hello!')" />

其他的一切都很好。awe_webview_set_callback_js_console_message()告诉我"object_index“没有定义。我正在使用awe_webview_create_object()来做这件事,但是可能我用错了。Idk。

有谁有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-02 17:45:41

问题出在我的电话上:

代码语言:javascript
复制
awe_string_create_from_ascii(name, sizeof(name));

需要满足以下条件:

代码语言:javascript
复制
awe_string_create_from_ascii(name, strlen(name));

这是一个微妙但致命的错误。我希望这篇文章能够帮助其他发现自己处于类似情况的人。

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

https://stackoverflow.com/questions/9607415

复制
相关文章

相似问题

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