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

陣列的問題

尚未結案
yaya9191
一般會員


發表:3
回覆:2
積分:1
註冊:2004-09-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-29 22:12:23 IP:219.81.xxx.xxx 未訂閱
請各位大大幫我看看 !!    我在程式一開始宣告了一個 unsigned char *Buffer; Bottom1 按下,會計算 Buffer 的大小,然後將資料 copy 進 Buffer。 Bottom2 按下,將 Buffer 之資料做運算,然後 delete,close。    目前到 Bottom1 是沒問題,但到 Bottom2 就有問題了,因為 Buffer 的 資料不見了 ^^",想請教該怎麼解決呢 ?!    //---------------------------------------------------------- #include  #pragma hdrstop #include : unsigned char *Buffer; : #pragma package(smart_init) //---------------------------------------------------------- void __fastcall TForm1::Bottom1Click(TObject *Sender) { Buffer = new char[Size]; : copy Data to Buffer; : } //---------------------------------------------------------- void __fastcall TForm1::Bottom2Click(TObject *Sender) { Access Buffer; : delete Buffer; close(); } //---------------------------------------------------------- 就是愛塗鴨~~~~~~
------
就是愛塗鴨~~~~~~
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-29 23:42:14 IP:59.104.xxx.xxx 未訂閱
這樣應不會不見。 你用單步執行去看看你在 button1 & button2 的 buffer 內容是不是在同一個位址。 另外。如果你的 copy to buffer 只是 buffer = data. 這種做法。 那有可能資料會不見。 <-- 為什麼?你要去看函數的生命週期的部份
yaya9191
一般會員


發表:3
回覆:2
積分:1
註冊:2004-09-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-30 18:40:20 IP:218.171.xxx.xxx 未訂閱
暗黑破壞神大大、感謝您的解答 ^^ 另外再請問像這樣情形、我該如何宣告呢 ?! 而且我的陣列大小是會改變的,這該用什麼函式來處理啊 ?! 麻煩您了 !! 就是愛塗鴨~~~~~~
------
就是愛塗鴨~~~~~~
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-30 20:26:45 IP:59.104.xxx.xxx 未訂閱
引言: 另外再請問像這樣情形、我該如何宣告呢 ?!
這個是這樣宣告沒錯啊。
引言: 而且我的陣列大小是會改變的,這該用什麼函式來處理啊 ?!
看你要做什麼用啊。 有些時候會增加。就用 link list 來解決。 有時候會增大,用 realloc 來解決。 看你的資料是怎樣。 看一下書。發揮一下想像力。^_^
yaya9191
一般會員


發表:3
回覆:2
積分:1
註冊:2004-09-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-30 22:47:43 IP:218.171.xxx.xxx 未訂閱
------
就是愛塗鴨~~~~~~
系統時間:2024-05-18 6:11:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!