yield通常用於大迴圈中釋放控制權,讓介面滑鼠得到重新整理避免」卡死「。
比如uf_fill_data{
dw_1.reset()
for i = 1 to 3
yield()
dw_1.insertrow(0)
next
如果遇到函式執行需要較長時間時,客戶狂點滑鼠觸發執行這個函式,會出現異常。
避免的方法時放入乙個flag
uf_fill_data_new{
if ib_busy then return
ib_busy = true
dw_1.reset()
for i = 1 to 3
yield()
dw_1.insertrow(0)
next
ib_busy = false
下圖:正常的情況
下圖:重複的情況
同時,這個新的小軟體採用的是dw+json+php+apache+msssql2005+阿里ecs伺服器 來做的。經過測試很穩定,用php來為dw提供資料感覺非常好。可以看我的另一篇文字介紹:
Randomize在迴圈中應用需要注意的
需要迴圈插入表tb1中若干條記錄其中id欄位為主鍵,想用random生成的隨機數來。寫語句如下 with query1 do for i 0 to n do begin close sql.clear sql.add randomize parameters.parambyname id value...
3單個迴圈需要注意的問題
for迴圈 格式for a b c a是初始化計數器的語句,b是判斷是否繼續迴圈的語句,c是改變計數器的語句 int sum 0 for int i 1 i 5 i sum sum i 那麼i的最後乙個值是5,也就是i一直從1變到5 for迴圈的執行順序 int sum 0 for int i 1 ...
開發中關於死迴圈需要注意的
死迴圈 死迴圈,又稱為無限迴圈,也就是判斷是否迴圈的條件一直為true。while true 平常開發中,死迴圈也是比較常用的一種方式,只要在適當的時候提供出口,就可以減少很多不必要的操作。但是,死迴圈又是一種比較高位的操作,很可能會導致專案程序阻塞。開發中需要注意的地方 1.提供合適的出口,在適當...