navy 发表于 2012-11-17 19:16:40

[已解决][多进程]不同进程间的变量传递

本帖最后由 navy 于 2012-11-19 09:39 编辑

经过各位前辈的批评http://www.autoitx.com/thread-35922-1-1.html,我放弃多线程,开始学习多进程。在论坛上我看到早就有人开始研究多进程了,于是下载了他们的源码作品,不过运行的时候发现有问题,即变量传递有问题,请各位论坛前辈及高手帮忙看下如何解决,谢谢!!



afan 发表于 2012-11-17 19:52:14

#include "CoProc.au3"

$Form1 = GUICreate("Form1", 623, 444, 192, 124)
$Button1 = GUICtrlCreateButton("OK", 168, 248, 249, 73)
$Label1 = GUICtrlCreateLabel("This is for test!", 184, 120, 230, 41)
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $Button1
                        _CoProc("Test", $Form1 & '|' & $Label1)
        EndSwitch
WEnd

Func Test($sParam)
        $aParam = StringSplit($sParam, "|")
        $hWnd = HWnd($aParam)
        ControlSetText($hWnd, '', Number($aParam), 'Change the text!')
EndFunc   ;==>Test

navy 发表于 2012-11-19 09:38:17

回复 2# afan


二楼正解,非常感谢

fhqbbfcu2050 发表于 2012-11-22 02:18:23

这个得学学....先进...一直搞不懂AU3的多进程...感觉比多线程麻烦多了

fhqbbfcu2050 发表于 2012-11-22 02:18:44

啥时出多线程就好了

ollydbg 发表于 2012-11-23 02:04:41

很好,学习一下

sango 发表于 2012-11-24 00:02:25

学习了,可惜没有多线程。

ndyndy 发表于 2013-2-18 14:28:58

又学到一点

ncxj 发表于 2016-7-11 16:45:48

au3多线程不清楚,但是目前看,多进程很好用,占用系统资源也并不多

dpale 发表于 2019-3-13 16:32:47

怎么看多进程的作用 这和直接在循环里面修改label有什么区别
页: [1]
查看完整版本: [已解决][多进程]不同进程间的变量传递