我的跑馬燈會吃記憶體!!不知該如何修改...
本帖最后由 1219923 于 2014-3-20 21:11 编辑小弟的跑馬燈已向上停止幾秒後在顯示下一則
旦發現執行久了記憶體就被吃光了
不知該如何修改
以下是小弟的寫法!!在請各位大大教教小弟!!
#include <Marquee.au3>
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
$a = 0
Global $i = 0
Local $iWidth = 720, $iHeight = 40, $iX = @DesktopWidth - $iWidth, $iY = 0
Dim $mager = ["文字一","文字二","文字三","文字四","文字五","文字六","文字七","文字八","文字九"]
GUICreate("跑馬燈", $iWidth, $iHeight, $iX, $iY,$WS_POPUPWINDOW,$WS_EX_TOOLWINDOW)
_GUICtrlMarquee_SetScroll(0,"slide" ,"up" , Default, 10)
_GUICtrlMarquee_SetDisplay(10, 0x000066, 0xCCFFCC, 32, "標楷體")
_GUICtrlMarquee_Create($mager[$a], 0, 0, 800, 40)
GUISetState(@SW_SHOW)
While 1
If $a = 9 Then
$a = 0
Else
_GUICtrlMarquee_Create($mager[$a], 0, 0, 800, 40)
sleep(1000)
$a += 1
EndIf
WEnd
你注册一个函数专门来处理它不要放while中.试一下. 小弟試著用Func的方式寫...只會執行一次....不會一直無窮迴圈....
小弟是程式初學者,再請各位多多指教,或能否可提供範例或語法以利撰寫 写成函数,使用这个自己调用自己 AdlibRegister 小弟事過狀況一樣
不知小弟是否有寫錯請大大協助檢查
小弟有一點一直想不通,不知道該如何帶
$iver這有沒有辦法單獨運算??
_GUICtrlMarquee_Create($iver, 0, 0, 800, 40)
程式撰寫
Func function()
sleep(100)
$iver = $mager[$a]
_test()
$a = $a + 1
Sleep(1000)
If $a = 10 Then
$a = 0
EndIf
EndFunc
Func _test()
_GUICtrlMarquee_Create($iver, 0, 0, 800, 40)
sleep(1000)
EndFunc
页:
[1]