MFC 与 JS 脚本数据同步出错

一只猪的天下 2016-12-18 10:24:19
我是在MFC中使用 CWebPage类中的CallJScript方法调用 JS函数

在JS 中把变量写入txt文件 再在MFC中读出

问题是每次读出的都是上一次函数的执行值 调试没找到错误 这是怎么回事


有没有大神有招
...全文
348 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-12-21
  • 打赏
  • 举报
回复
添加足够的延时 或 利用外部共享对象(文件、注册表、跨进程锁、……)同步。
qq_37116134 2016-12-20
  • 打赏
  • 举报
回复
内部审计在一个公司的管理机制中扮演的角色越来越重要,其作用也越来越重要。内部审计贯穿的是一个经济活动发生的全过程,与其他部门相互制约,相互监督。ozimaoqu.com/kuaiji/
一只猪的天下 2016-12-19
  • 打赏
  • 举报
回复
我调试了 那个文本文件的内容更新确实慢一拍 我感觉是JS执行速度没MFC 就用while循环判断JS返回值的方法 想等待JS执行后 在读取改写的文本文件 还是不行 这是什么鬼
oyljerry 2016-12-19
  • 打赏
  • 举报
回复
直接查看读取文件前,内容是否变化了。可能是同步的问题
一只猪的天下 2016-12-19
  • 打赏
  • 举报
回复
看到了 是因为js异步加载不能按顺序执行 赵老师有办法保证执行顺序吗
引用 楼主 weixin_36883477 的回复:

var mapAddress;
var gc = new BMap.Geocoder();                //获取地点信息
     gc.getLocation(point, function(rs){          //逆地理位置解析
        var addComp = rs.addressComponents;
        var mapAddress = addComp.province+addComp.city + addComp.district+ addComp.street + addComp.streetNumber;
//        alert(mapAddress);
     });
return mapAddress;
这是一段调用百度地图API的javascript代码 现在外部无法使用 gc.getLocation(point, function(rs){ })内的mapAddress变量值 调试之后找到问题 是因为 gc.getLocation(point, function(rs){ })在return mapAddress;之后执行 有没有办法让gc.getLocation()在return mapAddress;之前执行? 求大神帮忙
赵4老师 2016-12-19
  • 打赏
  • 举报
回复
搜“VC与JavaScript交互”
阿源是少年 2016-12-18
  • 打赏
  • 举报
回复
每次执行结果TRACE打印出来,看是不是相同,然后每次都正确从文件读出来了吗?

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧