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

請教MDI的問題

 
xiaolan0125
一般會員


發表:10
回覆:9
積分:3
註冊:2005-01-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-09-11 17:08:36 IP:203.68.xxx.xxx 訂閱

目前我是用BCB的MDI Application做一個讀wave檔然後顯示波形的程式,但程式總是會出現錯誤,如果我不用MDI的方式就不會有什麼問題,然後debug過後發現可能是show()函數那邊,附上程式碼請高手們幫我看一下程式~~謝謝

附加檔案:MDI_Wavelet.rar
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-09-11 22:48:22 IP:61.229.xxx.xxx 未訂閱

你好,測式了一下,發現問題是;
TMDIChild *MDIChild; 這裡所造成的,你只有產生物件的指標,但沒有create出物件! 而且不建議如此用!!

整個程式最好的方式應該改成如下:
//TMDIChild *MDIChild; //這行mark起來,不要了
int FileLen,dx=0,dy=110,dd=44;
int divx,divy;
char* file_name;
short *data;
FILE *inf;
extern String File_name;

然後在childwin.h裡加一行宣告:
private:
void ShowWave(void); //加這一行
public:
virtual __fastcall TMDIChild(TComponent *Owner);
void __fastcall CreateMDIChild(AnsiString Name,AnsiString ed1);

然後在childwin.cpp的最下面加入
void TMDIChild::ShowWave(void)
{
this->Refresh();
this->Canvas->MoveTo(0 dx,-data[0]/divy dy);
this->Canvas->Pen->Color=clBlack;
for(int i=1;(iWidth*divx)&&(i<(FileLen-dd)/2-1);i )
this->Canvas->LineTo(i/divx dx,-data[i 0]/divy dy);
}

還有在
void __fastcall TMDIChild::FormActivate(TObject *Sender)
{
................................
ShowWave(); //原來show()的地方換成這個
}

經過測式就ok了。如果有必要的話,我可以把改好的寄給你。

蕭沖 qs.xiao@gmail.com
http://aftcast.blogspot.com/

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-09-11 22:53:45 IP:61.229.xxx.xxx 未訂閱

再補一下:
原來的 void show(void) 這個函式也刪除或是mark起來,以省記憶體!

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
xiaolan0125
一般會員


發表:10
回覆:9
積分:3
註冊:2005-01-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-09-11 23:16:19 IP:220.133.xxx.xxx 訂閱

程式run成功了,真是感謝啊,原來是要用這樣的方法,謝謝你 ^^"

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