开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5893|回复: 13
收起左侧

[求助] 软件执行计次循环,会出现卡死情况,帮看看代码是否可以优化

[复制链接]
结帖率:91% (138/151)
发表于 2014-10-3 00:22:53 | 显示全部楼层 |阅读模式   广东省深圳市
5精币
本帖最后由 我是MT 于 2014-10-3 09:08 编辑
  
[font=宋体].支持库 iext
子程序名返回值类型公开备 注
_按钮_开始注册_被单击  
变量名类 型静态数组备 注
帐号文本型 
密码文本型 
昵称文本型 
验证码文本型 
captcha_id文本型 
N整数型 
计次整数型 
mail文本型 
key文本型 
图片数据字节集 
识别结果ID整数型 
验证码识别结果文本型 
code文本型 
返回验证码文本型 
激活链接文本型 
注册时间文本型 
mail_key文本型 
索引a整数型 
注册ip文本型 
N = 主界面.超级列表框1.取表项数 ()
计次循环首 (N, 计次)
图片数据 = 取验证码 ()  ' 改变全部变量captcha_id,cookie, 以及返回字节集图片数据
captcha_id = captcha
图片框1.图片 = 图片数据
返回验证码 = 字节集识别 (图片数据)
mail = 主界面.超级列表框1.取标题 (1, 1)
mail_key = 主界面.超级列表框1.取标题 (1, 2)
key = 取随机字符 (3, 0)取随机字符 (4, 2)
昵称 = 主界面.超级列表框1.取标题 (1, 3)
提交注册 (mail, key, 昵称, 返回验证码, captcha_id)  ' 提交了所有的数据,申账号
注册时间 = 取当前时间 ()
注册ip = http方式查外网IP ()
激活链接 = 取激活链接 (mail, key)  ' 登录163邮箱,取出激活链接
网页访问s (激活链接, 0, , cookie, , , )
索引a = 主界面.超级列表框_主窗口.插入表项 (, , , , , )
主界面.超级列表框_主窗口.置标题 (索引a, 0, 到文本 (索引a + 1))
主界面.超级列表框_主窗口.置标题 (索引a, 1, mail)
主界面.超级列表框_主窗口.置标题 (索引a, 2, mail_key)
主界面.超级列表框_主窗口.置标题 (索引a, 3, 昵称)
主界面.超级列表框_主窗口.置标题 (索引a, 4, key)
主界面.超级列表框_主窗口.置标题 (索引a, 5, 注册时间)
主界面.超级列表框_主窗口.置标题 (索引a, 6, 注册ip)
更换IP ()
计次循环尾 ()[/font]

111111111111111111111111111.jpg
代码就是上面的,计次循环过程中里面有多个子程序,为何一起动程序就卡死呢。全部启动线程的话,要等一个线程执行完毕再执行另外一个。用什么指令比较好啊。 等待线程(,)好像不是很适合吧。补充:查了下原因,应该是拨号换IP这里卡死了。不知道有过经验的人 是如何处理的。

补充: 源码给出来了。大神看看。@492630000 @突袭 @一个人的下午茶




拨号换IP卡死.rar

3.07 KB, 下载次数: 4


求助知识:请将问题描述清楚,最好把你有问题的源码打包上传上来,这样更方便大家帮助你。
友情提醒:本版被采纳的主题可在 申请荣誉值 帖子申请荣誉值,获得 3点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。

结帖率:100% (13/13)

签到天数: 5 天

发表于 2014-10-3 00:32:43 | 显示全部楼层   广东省清远市
更换IP的地方卡了,或者是没有用线程启动,或者没有在循环中的尾部加处理时间,或者网页访问延迟,或者http方式查外网有问题,或者取验证码。等等。。。
回复

使用道具 举报

结帖率:91% (138/151)
 楼主| 发表于 2014-10-3 00:33:52 | 显示全部楼层   广东省深圳市
492630000 发表于 2014-10-3 00:32
更换IP的地方卡了,或者是没有用线程启动,或者没有在循环中的尾部加处理时间,或者网页访问延迟,或者http ...

我勒个去,看样子不能在VPS里面测试了,要在自己的电脑换IP测试下。
回复

使用道具 举报

结帖率:100% (13/13)

签到天数: 5 天

发表于 2014-10-3 00:35:46 | 显示全部楼层   广东省清远市
我是MT 发表于 2014-10-3 00:33
我勒个去,看样子不能在VPS里面测试了,要在自己的电脑换IP测试下。

问题可能性还是蛮多的,循环中执行的子程序和网页_访问这几个命令都有可能
,除了这些就剩下是否用线程启动,如果是那么就剩下处理事件这个命令。

点评

你还会C#? 猫咪   广东省深圳市  发表于 2014-10-3 14:02
回复

使用道具 举报

结帖率:37% (17/46)
发表于 2014-10-3 07:55:28 | 显示全部楼层   浙江省杭州市
把“_按钮_开始注册_被单击”子程序的代码放到一个新的子程序里然后在“_按钮_开始注册_被单击”子程序放下面的代码:
启动线程(&新的子程序)
回复

使用道具 举报

结帖率:91% (138/151)
 楼主| 发表于 2014-10-3 08:22:56 | 显示全部楼层   广东省深圳市
492630000 发表于 2014-10-3 00:35
问题可能性还是蛮多的,循环中执行的子程序和网页_访问这几个命令都有可能
,除了这些就剩下是否用线程 ...

我一一排查了下,应该是ASDL拨号换IP的时候,使用的是时钟,这个方法不行。我改成高精度等待()再测试下。单独拿出来那个拨号来测试。
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2014-10-3 08:40:17 | 显示全部楼层   福建省福州市
  在循环里面加个处理事件看下会不会好些吧
回复

使用道具 举报

结帖率:91% (138/151)
 楼主| 发表于 2014-10-3 08:48:54 | 显示全部楼层   广东省深圳市
一个人的下午茶 发表于 2014-10-3 08:40
在循环里面加个处理事件看下会不会好些吧

嗯。拨号换IP很卡,我用了论坛里面另外一个帖子的源码http://bbs.125.la/thread-98470-1-1.html
回复

使用道具 举报

结帖率:100% (13/13)

签到天数: 5 天

发表于 2014-10-3 15:51:17 | 显示全部楼层   广东省清远市
我是MT 发表于 2014-10-3 08:22
我一一排查了下,应该是ASDL拨号换IP的时候,使用的是时钟,这个方法不行。我改成高精度等待()再测试下。 ...

ADSL拨号用线程启动,建立一个拨号判断变量整数型,1为拨号成功,0为失败
判断循环首(中间处理事件),判断拨号判断变量=0,=0继续循环
回复

使用道具 举报

结帖率:37% (17/46)
发表于 2014-10-3 17:11:31 | 显示全部楼层   广西壮族自治区南宁市
我没有那个模块
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表