線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2055
推到 Plurk!
推到 Facebook!

form上面的物件消失

答題得分者是:RaynorPao
jonyjo911
一般會員


發表:3
回覆:2
積分:1
註冊:2008-08-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-08-27 10:42:53 IP:220.128.xxx.xxx 訂閱
很久沒碰bcb, 最近剛好寫了一隻有關IO ports的小程式
表單內容很簡單, 兩個Label, 兩個button, 一個progress bar
當我在執行程式時, progress bar很聽話的慢慢的在跑進度
不過我的Label和button上面的字和外框卻都不見了
意思是我在form上面只看得到progress bar在跑
想請問一下是哪裡需要增加程式碼 ...

我的基本想法 應該是某個地方可以Redraw或是Invalidate
不過不曉得要怎麼加才好
自己亂加好像也弄不太出來

後來想到Timer讓form去重繪
不過也是一樣的情況
只有progress bar會跑 其它物件都不會顯示

後來又覺得是不是該用thread去做
不過不太確定這樣做是不是最好的方法

另外補充一下 其它物件指的是botton上面的名稱 ,ex Open, Exit
Label 想要秀得是ex 1/100, 1/200.....跟著進度表跑就是了

請教各位有經驗人士 謝謝 !!


另外 我現在把program包成執行檔
直接要去執行它 (就是不開BCB)

現在progress bar跑沒兩三下, 整個表單就出現白灰兩層顏色把我的表單內容全蓋掉
就是現在我完全看不到我表單內的物件

不過我可以確定的是 程式沒當掉還有在跑
因為過個兩三分鐘 我的程式跑完後
畫面就會恢復正常 並秀出所有的物件了

是因為系統資源都拿去做program要做的事嗎
導致沒重繪 ?
我很難理解 還請有經驗的幫忙 謝謝
------
idle
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-08-27 10:51:19 IP:210.208.xxx.xxx 訂閱
(1)先在控制 Progress bar 的迴圈程式碼裡面,加上這一行 Application->ProcessMessages(); http://delphi.ktop.com.tw/board.php?cid=168&fid=914&tid=33279
(2)除了 Progress bar 元件之外,CGauge 元件也滿好用的,例如:

[code cpp]
for(int i=0; i<100; i )
{
CGauge1->Progress=i 1;
Sleep(100);
Application->ProcessMessages();
}
[/code]

(3)把你的專案設成 standalone 即可 http://delphi.ktop.com.tw/board.php?cid=168&fid=912&tid=21675
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
編輯記錄
RaynorPao 重新編輯於 2008-08-27 10:54:25, 註解 無‧
RaynorPao 重新編輯於 2008-08-27 12:30:05, 註解 無‧
jonyjo911
一般會員


發表:3
回覆:2
積分:1
註冊:2008-08-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-08-27 13:47:28 IP:220.128.xxx.xxx 訂閱
了解, 問題解決了, 之前找了很久都沒這方面的解答, 果然是CPU resource的問題, 不過很好奇為啥我去開我的系統管理員, 四核只有一顆滿載, 其它很閒確還是有這樣的問題, 
總之, 感謝您的回應, 謝謝 ^^
------
idle
系統時間:2024-04-24 17:05:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!