如何動態建立, 使用和釋放txmldocument (不出現訪問違例錯誤)
如果您需要使用動態建立txmldocument元件, 一旦您試圖釋放物件時您也許會得到訪問違例錯誤(access violations).
如果txmldocument被作為元件使用, 那麼它的生存期由它的所有者控制 (您放置元件的窗體), 如果它建立但沒有所有者, 那麼它的生存期將由ixmldocument介面控制. 當動態建立乙個txmldocument時您應該總是分配結果到乙個ixmldocument介面.
作為乙個介面, 它將被自動釋放. 如果它是乙個本地變數, 它將在方法返回時釋放. 您可以以明文方式釋放它:
xmldoc := nil;
~~~~~~~~~~~~~~~~~~~~~~~~~
xmldoc := txmldocument.create(nil) ;
tryxmldoc.active := true;
//在這裡使用 xmldoc
xmldoc.active := false;
finally
xmldoc := nil;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~
物件的動態建立和釋放
new 動態地分配記憶體 delet 釋放記憶體 用new建立的物件只能通過指標訪問,建立物件時執行建構函式,有時候會出現記憶體不足,會出現異常。不再需要由new建立的物件時,用delete運算子釋放。否則會造成記憶體洩漏的情況。在釋放記憶體空間之前,自動呼叫析構函式,完成有關善後清理的工作。也就是...
C 物件的動態建立和釋放
使用類名定義的物件 請檢視 c 類的宣告和物件的定義 都是靜態的,在程式執行過程中,物件所佔的空間是不能隨時釋放的。但有時人們希望在需要用到物件時才建立物件,在不需要用該物件時就撤銷它,釋放它所佔的記憶體空間以供別的資料使用。這樣可提高記憶體空間的利用率。在c 中,可以使用new運算子動態地分配記憶...
c 物件的動態建立與釋放
1 new和 delete 基本語法 1 在軟體開發過程中,常常需要動態地分配和撤銷記憶體空間,例如對動態鍊錶中結點的插入與刪除。在c 語言中是利用庫函式 malloc 和free 來分配和撤銷記憶體空間的。c 提供了簡便而功能較強的運算子 new和 delete 來取代malloc 和free 函...