1219923 发表于 2014-3-20 21:10:05

我的跑馬燈會吃記憶體!!不知該如何修改...

本帖最后由 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

绿色风 发表于 2014-3-21 07:11:45

你注册一个函数专门来处理它不要放while中.试一下.

1219923 发表于 2014-3-24 10:00:40

小弟試著用Func的方式寫...只會執行一次....不會一直無窮迴圈....
小弟是程式初學者,再請各位多多指教,或能否可提供範例或語法以利撰寫

awingu 发表于 2014-3-26 15:12:48

写成函数,使用这个自己调用自己 AdlibRegister

1219923 发表于 2014-4-2 14:10:44

小弟事過狀況一樣
不知小弟是否有寫錯請大大協助檢查
小弟有一點一直想不通,不知道該如何帶
$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]
查看完整版本: 我的跑馬燈會吃記憶體!!不知該如何修改...