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

將檔案包進執行檔

尚未結案
dadai
一般會員


發表:29
回覆:31
積分:12
註冊:2009-01-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-02-11 16:02:33 IP:124.9.xxx.xxx 未訂閱
 小弟想將一些檔案用包進執行檔之中
然後再執行的過程中拿出來用

參考站上以前的文章
打算參考這篇文章的作法
http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=98415
將檔案先包成res檔
再加入project之中
執行的過程再拿出來使用

只是使用的過程中卻遇到問題
錯誤訊息是: Resource MY_FILE not found

以下是我的程式碼
[code cpp]
void __fastcall TForm1::Butt new TResourceStream( (unsigned)Handle, "MY_FILE", "MY_FILE_1" );
tmpRS->SaveToFile( "Test.dat" );
delete tmpRS;
}
[/code]

以下是RS檔的內容
[code delphi]
MY_FILE MY_FILE_1 aaa.dat
[/code]

請問是我哪邊使用上有問題嗎?
dadai
一般會員


發表:29
回覆:31
積分:12
註冊:2009-01-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-02-11 16:59:30 IP:124.9.xxx.xxx 未訂閱
蠢了....Orz
自問自答一下

TResourceStream 的 Instance 不能帶 Form 的 Handle
必須改用下列方式取得
不過固中道理還不甚明瞭
要再請前輩先進們指導了
[code cpp]
HINSTANCE hInst = LoadLibrary( ExtractFileName(Application->ExeName).t_str() );
if( hInst != NULL )
{
TResourceStream* tmpRS = new TResourceStream( (unsigned)hInst, "MY_FILE", L"MY_FILE_1" );
tmpRS->SaveToFile( "aaa.dat" );
delete tempRS;
}
[/code]

參考這個連結
http://delphi.ktop.com.tw/board.php?cid=168&fid=923&tid=27605
萬分感謝板上的前輩先進們 m(_ _)m

編輯記錄
dadai 重新編輯於 2011-02-11 02:01:57, 註解 無‧
系統時間:2017-10-23 5:03:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!