function 釋放記憶體問題 |
尚未結案
|
fater
一般會員 發表:2 回覆:1 積分:0 註冊:2004-07-28 發送簡訊給我 |
不好意思,請問如
Function Abc(bmp_s:Tbitmap):Tbitmap;
begin
Result:=tbitmap.create;
.........
Result.Assign(bmp_S);
end;
procedure Form1.Button1Click(Sender: TObject);
var bmp:Tbitmap;
begin
.........
ABC(bmp).savetofile('zxcv.bmp');
這個abc要如何釋放
還有一個簡單問題..
怎麼把一個字串如檔名(c:\123\vcxz.bmp)
我只想要vcxz要怎樣做(但不一定是vcxz)
多謝。
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
fater 你好 Sorry 好像誤解你的問題了
Function abc() 只是把傳入的bmp再用傳回值傳回來,傳回的bmp你沒使用一個變數去承接,則將會失去釋放的時機,而造成記憶體的漏失,以此例要能釋放ABC所傳回的bmp,使用如下程式即可:
Var bmp ,bmp1 : TBitmap; Begin bmp := TBitmap.Create ; bmp.LocadFrom('....'); bmp1 := ABC(bmp); bmp.Free; bmp1.Free;//由ABC傳回的 End;另外的問題請參考 ExtractFileName(const FileName: string): string; // 取得檔案名稱(含副檔名) ExtractFileExt(const FileName: string): string; // 取得副檔名 ExtractFilePath(const FileName: string): string; // 取得路徑 等函式 _______________________________________ 深藍的魚,祝您好運..........連連 發表人 - chance36 於 2004/08/05 01:52:43 |
fater
一般會員 發表:2 回覆:1 積分:0 註冊:2004-07-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |