Delphi最後提供了壹個保留字來保護資源。
{分配資源}
嘗試
{資源使用情況}
最後
{發布資源}
結束;
Try…finally…end形成資源保護塊。無論程序是否異常,finally之後的語句在任何情況下都會被執行。
對於()中的示例,以下代碼可以確保釋放已分配的內存資源。
定義變量
APointer:指針;
AInt ADiv:Integer;
開始
ADiv:=;
GetMem(apo int)
嘗試
AInt:= div ADiv;
最後
自由記憶
結束;
結束;
以下示例摘自()部分,用於實現文件復制中的文件資源保護。
過程復制文件(常量文件名DestName: TFileName)
定義變量
CopyBuffer:指針;
時間戳bytes copied:Longint;
Source Dest:整數;
目標:TFileName
常數
chunk size:Longint =;
開始
destination:= expand filename(DestName)
如果HasAttr(目的地目錄),則
目的地:=目的地+ \ +提取文件名(文件名)
時間戳:=文件大小(文件名)
GetMem(CopyBuffer ChunkSize)
嘗試
Source := FileOpen(文件名fmShareDenyWrite)
如果來源& lt然後
引發EFOpenError Create(FmtLoadStr(SFOpenError[文件名])
嘗試
Dest := FileCreate(目的地)
如果Dest & lt然後
引發EFCreateError Create(FmtLoadStr(SFCreateError[Destination]))
嘗試
重復
BytesCopied := FileRead(源CopyBuffer^塊大小)
如果BytesCopied & gt然後
文件寫入(目標CopyBuffer^字節復制)
直到BytesCopied & ltChunkSize
最後
文件關閉(目標)
結束;
最後
文件關閉(源)
結束;
最後
FreeMem(CopyBuffer ChunkSize)
結束;
結束;
有關該過程的詳細說明,請參見第()節。
在異常保護的情況下,當發生異常時,系統會自動彈出消息框顯示異常的消息,退出當前模塊後會自動清除異常類。
返回目錄DELPHI基礎教程
編輯推薦
Java編程培訓視頻教程
J EE高級框架實戰訓練視頻教程
Visual C++音視頻技術的發展與實戰
Oracle索引技術
ORACLE G數據庫開發優化指南
Java程序的性能優化讓妳的Java程序更快更穩定。
c嵌入式編程設計模式
Android遊戲開發實用指南
Lishi Xinzhi/Article/program/Delphi/201311/25194