打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
小精灵崩溃的原因(多线程运用不当),研究很久才找到出问题的原因!
其实问题很简单,但是你不注意,可能就会造成很多的麻烦,再次给大家做个示范,以示错误,警惕大家不用和我犯一样的错误!
大家看一段错误的代码:这个技能的子程序,如果当多线程调用一点问题也没有,可是当子程序调用,小精灵就崩溃,分析一下原因!
本帖隐藏的内容
UserVar 技能按键1=65   "技能快捷键1(按键码)"
UserVar 技能按键2=83  "技能快捷键2(按键码)"
UserVar 技能按键3=68   "技能快捷键3(按键码)"
UserVar 技能按键4=70   "技能快捷键4(按键码)"
UserVar 技能按键5=71  "技能快捷键5(按键码)"
UserVar 技能按键6=72   "技能快捷键6(按键码)"
UserVar 技能按键7=112  "技能快捷键7(按键码)"
UserVar 技能按键8=113  "技能快捷键8(按键码)"
UserVar 技能按键9=114  "技能快捷键9(按键码)"
UserVar 技能按键10=115 "技能快捷键10(按键码)"
UserVar 技能按键11=116 "技能快捷键11(按键码)"
UserVar 技能按键12=117 "技能快捷键12(按键码)"
Dimenv 技能1,技能2,技能3,技能4,技能5,技能6,技能7,技能8,技能9,技能10,技能11,技能12
技能1=技能按键1
技能2=技能按键2
技能3=技能按键3
技能4=技能按键4
技能5=技能按键5
技能6=技能按键6
技能7=技能按键7
技能8=技能按键8
技能9=技能按键9
技能10=技能按键10
技能11=技能按键11
技能12=技能按键12
Do
Call 技能按键()
delay 1000
Loop
Sub 技能按键()
延迟 = Int((3 - 1 + 1) * Rnd + 1)
dm.keypress 技能1
delay 延迟*200
dm.keypress 技能2
delay 延迟*200
dm.keypress 技能3
delay 延迟*200
dm.keypress 技能4
delay 延迟*200
dm.keypress 技能5
delay 延迟*200
dm.keypress 技能6
delay 延迟*200
dm.keypress 技能7
delay 延迟*200
dm.keypress 技能8
delay 延迟*200
dm.keypress 技能9
delay 延迟*200
dm.keypress 技能10
delay 延迟*200
dm.keypress 技能11
delay 延迟*200
dm.keypress 技能12
delay 延迟*200
End Sub
复制代码
崩溃的原因就是,子程序调用多线程的变量!!!!!
本来这程序,我是做成多线程使用的,但后来觉得没必要多线程,我就顺手当子程序使用了,孰不知这一时的省事带来了小精灵运行打这些代码的时候就崩溃,唉,
这段代码只要把子程序中的变量定义成一般变量小精灵就不崩溃啦!
问题就这么简单!
也可能是我个人原因吧,我只是截取了一部分代码,但是我只要用大漠插件按键,程序执行到这里必然崩溃,我也很无奈!
所以我改成按键自带的按键模拟了,小精灵就不崩溃了!
这段代码中没附带大漠注册的代码,如果想实验,可以自己加上!这个问题很模糊,可能只对我个人有问题,大家仅供参考!
Your program raised an exception and should be closed. Please email hi@vrbrothers.com and report the error message. Thanks!
=========================
MyMacroBasic9.21.10865
Environment = 1024x768|32|Microsoft Windows XP
Type = 0xC0000005
Address = 0x58268691
LineNum = -1(-1)
Registers:
EAX=00250003 EBX=017EF650 ECX=00B2080C EDX=0000B208
ESI=00238428 EDI=00080113 ESP=025EFF3C EBP=025EFF4C
Current Modules:
Name = 刷图_完美第一版.exe, Base = 0x400000, Top = 0x704000, Size = 3162112
Name = ntdll.dll, Base = 0x7C920000, Top = 0x7C9B6000, Size = 614400
Name = kernel32.dll, Base = 0x7C800000, Top = 0x7C91E000, Size = 1171456
Name = MFC42.DLL, Base = 0x73D30000, Top = 0x73E2E000, Size = 1040384
Name = msvcrt.dll, Base = 0x77BE0000, Top = 0x77C38000, Size =360448
Name = GDI32.dll, Base = 0x77EF0000, Top = 0x77F39000, Size = 299008
Name = USER32.dll, Base = 0x77D10000, Top = 0x77DA0000, Size = 589824
Name = ADVAPI32.dll, Base = 0x77DA0000, Top = 0x77E49000, Size = 692224
Name = RPCRT4.dll, Base = 0x77E50000, Top = 0x77EE2000, Size = 598016
Name = Secur32.dll, Base = 0x77FC0000, Top = 0x77FD1000, Size = 69632
Name = SHELL32.dll, Base = 0x7D590000, Top = 0x7DD84000, Size = 8339456
Name = SHLWAPI.dll, Base = 0x77F40000, Top = 0x77FB6000, Size = 483328
Name = COMCTL32.dll, Base = 0x77180000, Top = 0x77283000, Size = 1060864
Name = ole32.dll, Base = 0x76990000, Top = 0x76ACD000, Size = 1298432
Name = OLEAUT32.dll, Base = 0x770F0000, Top = 0x7717B000, Size = 569344
Name = urlmon.dll, Base = 0x7EAE0000, Top = 0x7EB81000, Size = 659456
Name = VERSION.dll, Base = 0x77BD0000, Top = 0x77BD8000, Size = 32768
Name = WINMM.dll, Base = 0x76B10000, Top = 0x76B3A000, Size = 172032
Name = MSVCP60.dll, Base = 0x75FF0000, Top = 0x76055000, Size = 413696
Name = WS2_32.dll, Base = 0x71A20000, Top = 0x71A37000, Size = 94208
Name = WS2HELP.dll, Base = 0x71A10000, Top = 0x71A18000, Size = 32768
Name = PSAPI.DLL, Base = 0x76BC0000, Top = 0x76BCB000, Size = 45056
Name = IMAGEHLP.dll, Base = 0x76C60000, Top = 0x76C88000, Size = 163840
Name = DINPUT8.dll, Base = 0x6D180000, Top = 0x6D1B6000, Size = 221184
Name = WININET.dll, Base = 0x76680000, Top = 0x76726000, Size = 679936
Name = CRYPT32.dll, Base = 0x765E0000, Top = 0x76673000, Size = 602112
Name = MSASN1.dll, Base = 0x76DB0000, Top = 0x76DC2000, Size = 73728
Name = UxTheme.dll, Base = 0x5ADC0000, Top = 0x5ADF7000, Size = 225280
Name = OLEPRO32.DLL, Base = 0x5ED70000, Top = 0x5ED87000, Size = 94208
Name = IMM32.DLL, Base = 0x76300000, Top = 0x7631D000, Size = 118784
Name = LPK.DLL, Base = 0x62C20000, Top = 0x62C29000, Size = 36864
Name = USP10.dll, Base = 0x73FA0000, Top = 0x7400B000, Size = 438272
Name = MFC42LOC.DLL, Base = 0x61BE0000, Top = 0x61BED000, Size = 53248
Name = MSCTF.dll, Base = 0x74680000, Top = 0x746CC000, Size = 311296
Name = msctfime.ime, Base = 0x73640000, Top = 0x7366E000, Size = 188416
Name = CLBCATQ.DLL, Base = 0x76FA0000, Top = 0x7701F000, Size = 520192
Name = COMRes.dll, Base = 0x77020000, Top = 0x770BA000, Size = 630784
Name = shdocvw.dll, Base = 0x7E550000, Top = 0x7E6C3000, Size = 1519616
Name = CRYPTUI.dll, Base = 0x75430000, Top = 0x754A1000, Size = 462848
Name = NETAPI32.dll, Base = 0x5FDD0000, Top = 0x5FE25000, Size = 348160
Name = WINTRUST.dll, Base = 0x76C00000, Top = 0x76C2E000, Size = 188416
Name = WLDAP32.dll, Base = 0x76F30000, Top = 0x76F5C000, Size = 180224
Name = SXS.DLL, Base = 0x75E00000, Top = 0x75EAE000, Size = 712704
Name = DBGHELP.dll, Base = 0x68D60000, Top = 0x68E01000, Size = 659456
Name = mlang.dll, Base = 0x74CF0000, Top = 0x74D81000, Size = 593920
Name = wsock32.dll, Base = 0x71A40000, Top = 0x71A4B000, Size = 45056
Name = mswsock.dll, Base = 0x719C0000, Top = 0x719FE000, Size = 253952
Name = hnetcfg.dll, Base = 0x60FD0000, Top = 0x61025000, Size = 348160
Name = wshtcpip.dll, Base = 0x71A00000, Top = 0x71A08000, Size = 32768
Name = RASAPI32.DLL, Base = 0x76EB0000, Top = 0x76EEC000, Size = 245760
Name = rasman.dll, Base = 0x76E60000, Top = 0x76E72000, Size = 73728
Name = TAPI32.dll, Base = 0x76E80000, Top = 0x76EAF000, Size = 192512
Name = rtutils.dll, Base = 0x76E50000, Top = 0x76E5E000, Size = 57344
==>
Name = MSScript.ocx, Base = 0x58260000, Top = 0x5827B000, Size = 110592
Name = TASAntiPhishing_1.dll, Base = 0x10000000, Top = 0x1005D000, Size = 380928
Name = MSVCP90.dll, Base = 0x78480000, Top = 0x7850E000, Size = 581632
Name = MSVCR90.dll, Base = 0x78520000, Top = 0x785C3000, Size = 667648
Name = msv1_0.dll, Base = 0x77C40000, Top = 0x77C65000, Size = 151552
Name = cryptdll.dll, Base = 0x76760000, Top = 0x7676C000, Size = 49152
Name = iphlpapi.dll, Base = 0x76D30000, Top = 0x76D48000, Size = 98304
Name = appHelp.dll, Base = 0x76D70000, Top = 0x76D92000, Size = 139264
Name = xpsp2res.dll, Base = 0x17F0000, Top = 0x1D39000, Size = 5541888
Name = USERENV.dll, Base = 0x759D0000, Top = 0x75A7F000, Size = 716800
Name = qdisp.dll, Base = 0xF70000, Top = 0xF7A000, Size = 40960
Name = DNSAPI.dll, Base = 0x76EF0000, Top = 0x76F17000, Size = 159744
Name = cfgdll.dll, Base = 0xFC0000, Top = 0xFCE000, Size = 57344
Name = rasadhlp.dll, Base = 0x76F90000, Top = 0x76F96000, Size = 24576
Name = VBScript.dll, Base = 0x73270000, Top = 0x732D9000, Size = 430080
Name = DBSOFT.dll, Base = 0x11000000, Top = 0x11277000, Size = 2584576
Name = MSVBVM60.DLL, Base = 0x73390000, Top = 0x734E3000, Size = 1388544
Name = SETUPAPI.dll, Base = 0x76060000, Top = 0x761B6000, Size = 1400832
Name = scrrun.dll, Base = 0x73510000, Top = 0x7353A000, Size = 172032
Name = REGDLL.dll, Base = 0x12C0000, Top = 0x12C7000, Size = 28672
Name = ATL.DLL, Base = 0x76AF0000, Top = 0x76B01000, Size = 69632
Name = FILE.dll, Base = 0x3A50000, Top = 0x3A5B000, Size = 45056
Name = comdlg32.dll, Base = 0x76320000, Top = 0x76367000, Size = 290816
Name = wbemprox.dll, Base = 0x74E50000, Top = 0x74E58000, Size = 32768
Name = wbemcomn.dll, Base = 0x751F0000, Top = 0x75227000, Size = 225280
Name = wmiutils.dll, Base = 0x74F80000, Top = 0x74F99000, Size = 102400
Name = wbemsvc.dll, Base = 0x74E30000, Top = 0x74E3E000, Size = 57344
Name = fastprox.dll, Base = 0x755F0000, Top = 0x75666000, Size = 483328
Name = NTDSAPI.dll, Base = 0x76770000, Top = 0x76783000, Size = 77824
Name = WINDOW.dll, Base = 0x4680000, Top = 0x468C000, Size = 49152
Name = WINSTA.dll, Base = 0x762D0000, Top = 0x762E0000, Size = 65536
Name = dm.dll, Base = 0x2AF0000, Top = 0x2C72000, Size = 1581056
Name = wbemdisp.dll, Base = 0x5A770000, Top = 0x5A79F000, Size = 192512
Code Before:
08 E8 07 FB FF FF 85 C0 74 7D 83 4D FC FF 57 8B 7E 18 EB 22
Current Code:
0B 9F F8 00 00 00 8B CF E8 36 FA FF FF 3B 45 FC 73 0A 8B CF
Call Stack:
582687C0 ===> MSScript.ocx
77C0A3B0 ===> msvcrt.dll
7C80B729 ===> kernel32.dll
00000000
Current Stack:
复制代码
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
按键精灵
浏览英文网站必会的100个词汇 | OUT.WE.GO!英遨导航网-博客
用按键调用使用E语言所编写的DLL,可以满足大部分需求。
jquery 键盘事件,jQuery处理按键,jQuery 键盘_ jQuery
用jquery为页面增加快捷键
按键精灵学习笔记Day1
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服