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

如何判斷new出來的物件是不是還活著

答題得分者是:dllee
biau
一般會員


發表:25
回覆:32
積分:21
註冊:2003-02-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-09 17:50:57 IP:140.113.xxx.xxx 未訂閱
我用一個Button按下以後執行 void __fastcall TForm1::Button1Click(TObject *Sender) { TMediaPlayer *s; s=new TMediaPlayer(Form1); s->Parent=Form1; s->Close(); s->FileName="c:\\windows\\media\\ding.wav"; s->Open(); } new 出一個MediaPlayer的物件在Form1上 我要怎麼寫才能讓程式判斷Form1上已經成功的產生一個MediaPlayer物件 ==========================================================
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-09 18:43:28 IP:61.231.xxx.xxx 未訂閱
解答在紅色部分
引言: 我用一個Button按下以後執行
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TMediaPlayer *s;
  s=new TMediaPlayer(Form1);

  if(s==NULL)
  {
     // 無法 new 出 TMediaPlayer
     // 可以 ShowMessage 或 throw exception 告知使用者
     return;
  }      s->Parent=Form1;
  s->Close();
  s->FileName="c:\\windows\\media\\ding.wav";
  s->Open();
}
new 出一個MediaPlayer的物件在Form1上 我要怎麼寫才能讓程式判斷Form1上已經成功的產生一個MediaPlayer物件 ==========================================================
P.S. 您的代號與我老師一樣!不會就是我老師吧! <>沒空更新的網頁... href="http://big5.to/吃軟也吃硬">http://big5.to/吃軟也吃硬 http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-09 18:51:09 IP:61.231.xxx.xxx 未訂閱
看到老師的大名,讓我差點忘了要提醒您,您的程式,對於 new 出來的 TMediaPlayer 無法立刻 delete 吧,因為還要使用它。 像這樣的東西,最好放到 TForm1::TForm1() 或是 FormCreate 中,並以一 TForm1 的屬性來記錄它的指標,這樣才能在 TForm1::~TForm1() 或是 FormDestroy 中,把它 delete。 當然,您的作法也是可以的,因為已指定它的 Owner 是 Form1 當 Form1 消失時,Form1 會幫您一併 delete 掉它。 只是,最好還是要有自己 new 自己 delete 的好習慣會比較好。    沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://big5.to/吃軟也吃硬 http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
系統時間:2024-04-29 21:04:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!