返回列表 上一主題 發帖

DOEVENTS 指令很重要

DOEVENTS 指令很重要

天下為公

回復 1# sjgau

期待ing 大大的解說
ss

TOP

回復 2# sunnyso


    今天早上,終於鼓起勇氣 開始寫程式去抓取 盤中的 即時報價。

但是,只要 程式一起動,報價就 停止近來。

我大概 知道是 怎麼 一回事,趕快去網路上 找尋資料

只要在 迴圈裏面加上
DOEVENTS
就解決了

大概是 100秒鐘的 程式
可以跑 大約 三百萬個 迴圈

可以 正確抓取大約 200筆 報價資料

詳細,等我 下個禮拜整理一下 程式
再把 程式和 輸出 傳送上來
天下為公

TOP

DoEvents 函數
請參閱     範例     特性

暫停執行,以便讓作業系統可以處理其它的事件。

語法

DoEvents( )

請注意

DoEvents 函數會傳回一個Integer,以代表 Visual Basic 的單一版本中所開啟的表單個數,例如, Visual Basic專業版。在其它的應用版本中,DoEvents 會傳回 0。

DoEvents 會將控制權傳給作業系統,然後當作業系統處理完佇列中的事件,並且在 SendKeys 佇列中的所有 Key 都已送出後,控制權會再傳回。

DoEvents 常用於可讓使用者取消一段處理序,例如搜尋檔案。對於一段需花費較長時間的動作而言,使用 Timer 來處理或交由一個 ActiveX EXE 元件會比較好。以後者而言,這個工作可不依靠應用程式而獨立進行,作業系統會以多工方式處理。

注意 請確定以 DoEvents 來放棄控制權的程序,在第一次 DoEvents 傳回之前,不能再度執行,否則會產生不可預期的結果。此外,如果其它的應用程式在您放出控制權時,可能會和您的程序產生互動,那麼也儘量不要使用 DoEvents。
天下為公

TOP

如何 避免 DoEvents 尚未結束之前,
重複 執行 DoEvents???
天下為公

TOP

回復 5# sjgau

doevent 會降低程式效率嗎?
ss

TOP

回復 6# sunnyso


    會,但是 不得不 加上去。
因為,如果不加上去,CPU 就被我的程式給霸佔,
我需要的 DDE報價,就不會進來,
所以,需要 計算他 delay 程式的影響有多大?
天下為公

TOP

回復 7# sjgau


    有何方法計算效率差呢?
ss

TOP

回復 8# sunnyso

我有,請給我 一點點時間,
請慢慢地 密切觀察 這個 板板
天下為公

TOP

回復 9# sjgau

感謝
ss

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題