全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1148
推到 Plurk!
推到 Facebook!

請問Memo1->Clear()執行卻沒有效果,是form傳遞訊息的問題嗎?

尚未結案
qubeley2004
一般會員


發表:52
回覆:71
積分:24
註冊:2004-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-22 23:50:07 IP:211.76.xxx.xxx 未訂閱
我再第一個form下面執行了一個    Memo1->Clear()    去清除另外依個form2的Memo    可是卻發生form2的Memo沒有清除掉,原本的字還在,和沒有執行相同    form2的Memo字的數量挺大的    有用過Sleep(3000),還有Application->ProcessMessaage();但是有的時候    可以(亂按好幾次),有的時候不行,    程式碼如下    
void __fastcall TfmMine::SpeedButton3Click(TObject *Sender)
{   
     form2->Memo1->Clear();
      Application->ProcessMessages();
       Sleep(10000);
} 
 
qubeley2004
一般會員


發表:52
回覆:71
積分:24
註冊:2004-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-25 16:33:02 IP:211.76.xxx.xxx 未訂閱
請問有人知道嗎~??
shychef
一般會員


發表:5
回覆:10
積分:3
註冊:2004-10-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-25 16:45:31 IP:211.23.xxx.xxx 未訂閱
form2->Memo1->Refresh(); //多加這一行試看看 void __fastcall TfmMine::SpeedButton3Click(TObject *Sender) { form2->Memo1->Clear(); form2->Memo1->Refresh(); //多加這一行試看看 Application->ProcessMessages(); Sleep(10000); }
shychef
一般會員


發表:5
回覆:10
積分:3
註冊:2004-10-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-25 16:58:44 IP:211.23.xxx.xxx 未訂閱
不行的話再試試下列的方法 form2->Memo1->Repaint();; //多加這一行試看看 void __fastcall TfmMine::SpeedButton3Click(TObject *Sender) { form2->Memo1->Clear(); form2->Memo1->Repaint();; //多加這一行試看看 }
qubeley2004
一般會員


發表:52
回覆:71
積分:24
註冊:2004-07-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-26 12:51:34 IP:211.76.xxx.xxx 未訂閱
兩個方法都不行說... 不曉得這是什麼原因照成的
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-27 23:04:51 IP:211.22.xxx.xxx 未訂閱
引言:
void __fastcall TfmMine::SpeedButton3Click(TObject *Sender)
{   
 form2->Memo1->Clear();
 Application->ProcessMessages();
 Sleep(10000);
} 
FORM2中MEMO1資料是會不斷的接受外來的資料持續增加嗎?如果是有另一個THREAD一直在增加資料,那按鍵一次當然清不乾淨~ 如果不是,加入下列的測試碼看看你的CODE到底執行的方式怎樣,確定一下MEMO1中的資料狀況如何?
void __fastcall TfmMine::SpeedButton3Click(TObject *Sender)
{   
 while ( form2->Memo1->Text.Length()) //如果MEMO1中沒有資料了,Length為零,迴圈自然會停止
 {
  form2->Memo1->Clear(); //如果迴圈一直跳不出去,那麼不是一直有資料進來,就是這個方法沒作用,得好好查察是啥原因
  >>    ----------------------------------------------

        
qubeley2004
一般會員


發表:52
回覆:71
積分:24
註冊:2004-07-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-08-28 15:39:32 IP:211.76.xxx.xxx 未訂閱
引言:
引言:
void __fastcall TfmMine::SpeedButton3Click(TObject *Sender)
{   
 form2->Memo1->Clear();
 Application->ProcessMessages();
 Sleep(10000);
} 
FORM2中MEMO1資料是會不斷的接受外來的資料持續增加嗎?如果是有另一個THREAD一直在增加資料,那按鍵一次當然清不乾淨~ 如果不是,加入下列的測試碼看看你的CODE到底執行的方式怎樣,確定一下MEMO1中的資料狀況如何?
void __fastcall TfmMine::SpeedButton3Click(TObject *Sender)
{   
 while ( form2->Memo1->Text.Length()) //如果MEMO1中沒有資料了,Length為零,迴圈自然會停止
 {
  form2->Memo1->Clear(); //如果迴圈一直跳不出去,那麼不是一直有資料進來,就是這個方法沒作用,得好好查察是啥原因
  >>    ----------------------------------------------
>< face="Verdana, Arial, Helvetica">    因為自己耍笨了=.=..    一值沒注意到後面有行程式碼有把剪貼簿的內容複製到Memo中    所以造成沒有清除掉的假象     
        
ys168
初階會員


發表:3
回覆:24
積分:25
註冊:2005-10-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2006-07-15 17:50:21 IP:59.117.xxx.xxx 未訂閱

試試看如下:

form2->Memo1->Lines->Clear();


------
yangshuh
系統時間:2024-04-26 3:30:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!