普通用户
同样的异步执行语句的代码为什么会闪退? [复制链接]
MoLi先生 发表于 2025-04-28 72 2

闪退代码:

事件 按钮1.被单击(来源对象 为 视图)
    ' 这样无效、没有返回源码
    编辑框1.内容 = 取网页源码("http://www.ym.com","utf-8",5000/)

    ' 这样可以取出源码
    异步执行首
        调试输出(取网页源码("http://www.ym.com","utf-8",5000/))
    异步执行尾

    ' 这样就闪退
    异步执行首
        编辑框1.内容 = 取网页源码("http://www.ym.com","utf-8",5000/)
    异步执行尾
结束 事件

MoLi先生 2025-04-28
引用 @Course 的回复:

线程不同步问题,一定要记住!!!

只要是在 异步执行首...尾 中,任何代码!注意是任何代码,都不能直接操作界面上的组件,赋值或取值。

因为异步执行语句是在子线程中执行的。

在子线程中不能操作任何界面元素的可视组件,凡是和可视内容有关系的,都不能操作。

如果必须要操作,必须切换到主线程中才能操作。

例如:

异步执行首
    变量 局_结果 = 取网页源码("http://www.ym.com","utf-8",5000/)
    到主线程
    编辑框1.内容 = 局_结果
异步执行尾

文档:http://doc.vcnstudio.com/android/thread.html

教程:http://bbs.vcnstudio.com/?c=course&a=player&id=5

懂了,把这个搞忘了。

回复
管理员 2025-04-28

线程不同步问题,一定要记住!!!

只要是在 异步执行首...尾 中,任何代码!注意是任何代码,都不能直接操作界面上的组件,赋值或取值。

因为异步执行语句是在子线程中执行的。

在子线程中不能操作任何界面元素的可视组件,凡是和可视内容有关系的,都不能操作。

如果必须要操作,必须切换到主线程中才能操作。

例如:

异步执行首
    变量 局_结果 = 取网页源码("http://www.ym.com","utf-8",5000/)
    到主线程
    编辑框1.内容 = 局_结果
异步执行尾

文档:http://doc.vcnstudio.com/android/thread.html

教程:http://bbs.vcnstudio.com/?c=course&a=player&id=5

回复
 作者信息
MoLi先生
普通用户
专业开发指导服务

响应时间:5分钟

服务方式:官方1对1服务

工作时间:工作日 9:00 - 18:30

专业团队 · 开发指导 · 极速响应


官网 | 基础视频教程 | 在线文档 下载 VcnStudio IDE

© VcnStudio Inc All Rights Reserved

蜀ICP备17024229号