|
发表于 2024-5-6 21:27:15
|
显示全部楼层
广东省清远市
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 线程同步句柄 | 整数型 | | 线程结束标志 | 逻辑型 | |
拖放对象1. 注册拖放控件 (超级列表框1. 取窗口句柄 ()) 线程同步句柄 = 创建进入许可证 ()线程结束标志 = 假 变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件类型 | 文本型 | | | 文件号 | 整数型 | | | 文件内容 | 文本型 | | | 文本数组 | 文本型 | | 0 | n | 整数型 | | | 插入索引 | 整数型 | | | 文本内容数组 | 文本型 | | 0 |
超级列表框1. 全部删除 ()文件类型 = 文件_取类型 (接收到的文件路径 )如果真 (文件类型 ≠ “文本文档”)信息框 (“请选择txt文件”, 0, , )返回 ()文件内容 = 到文本 (读入文件 (接收到的文件路径 )) 文本数组 = 分割文本 (文件内容, #换行符, )如果真 (取数组成员数 (文本数组 ) = 0 )信息框 (“文本内容为空”, 0, , )返回 ()计次循环首 (取数组成员数 (文本数组 ), n )文本内容数组 = 分割文本 (文本数组 [n ], “----”, )插入索引 = 超级列表框1. 插入表项 (, , , , , )超级列表框1. 置标题 (插入索引, 0, 到文本 (插入索引 + 1 )) 超级列表框1. 置标题 (插入索引, 1, 文本内容数组 [1 ])超级列表框1. 置标题 (插入索引, 2, 文本内容数组 [2 ])超级列表框1. 置状态图片 (插入索引, 1 )计次循环尾 ()导入数据 (接收到的文件路径 )变量名 | 类 型 | 静态 | 数组 | 备 注 | i | 整数型 | | | 线程句柄 | 整数型 | | | 计次循环首 (超级列表框1. 取表项数 (), i )线程句柄 = 线程_启动 (&主线程, i, )超级列表框1. 置标题 (i - 1, 3, 到文本 (线程句柄 )) 超级列表框1. 置标题 (i - 1, 4, “软件开始运行”)计次循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | 账号 | 文本型 | | | 循环数量 | 整数型 | | | 判断循环首 (真)计次循环首 (到整数 (线程.内容 ), )账号 = 超级列表框1. 取标题 (索引 - 1, 1 )循环数量 = 循环数量 + 1 进入许可区 (线程同步句柄 )超级列表框1. 置标题 (索引 - 1, 2, “【” + 到文本 (循环数量 ) + “】” + 账号 + 到文本 (取随机数 (111, 9999999 )) )退出许可区 (线程同步句柄 )程序_延时 (到整数 (延迟.内容 ), )系统_处理事件 ()如果真 (线程结束标志 )返回 ()计次循环尾 ()判断循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | i | 整数型 | | | 线程句柄 | 文本型 | | | 销毁状态 | 逻辑型 | | |
线程结束标志 = 真 计次循环首 (超级列表框1. 取表项数 (), i )线程句柄 = 超级列表框1. 取标题 (i - 1, 3 )销毁状态 = 假 判断循环首 (销毁状态 = 假)如果真 (线程_销毁 (到整数 (线程句柄 )) = 真)销毁状态 = 真 超级列表框1. 置标题 (i - 1, 3, “已结束”)超级列表框1. 置标题 (i - 1, 4, “软件运行结束”)判断循环尾 ()计次循环尾 ()
线程_销毁 而是等待线程自然结束,如果线程还在执行某些关键操作,强制销毁它可能会导致程序崩溃或数据不一致。
主线程 我发现了一个无限循环,这意味着它永远不会自然结束,因此 线程_销毁 等待它结束实际上是不可能的。
我添加了一个 线程结束标志 变量,并在 线程结束 子程序中将其设置为真。然后,在 主线程 的循环中,我添加了一个判断,如果线程结束标志为真,则立即返回,停止继续执行循环。这样,当点击按钮2时,线程会停止执行,并且软件不会崩溃,希望帮到你。 |
评分
-
参与人数 1 | 荣誉 +1 |
收起
理由
|
笨潴
| + 1 |
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻! |
查看全部评分
|