找回密码
 加入
搜索
查看: 1944|回复: 4

[AU3基础] 我的跑馬燈會吃記憶體!!不知該如何修改...

[复制链接]
发表于 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[10] = ["文字一","文字二","文字三","文字四","文字五","文字六","文字七","文字八","文字九"]
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中.试一下.
 楼主| 发表于 2014-3-24 10:00:40 | 显示全部楼层
小弟試著用Func的方式寫...只會執行一次....不會一直無窮迴圈....
小弟是程式初學者,再請各位多多指教,或能否可提供範例或語法以利撰寫
发表于 2014-3-26 15:12:48 | 显示全部楼层
写成函数,使用这个自己调用自己 AdlibRegister
 楼主| 发表于 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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-6 10:11 , Processed in 0.073696 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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