我有一個ListBox列出文件夾中的所有樣式文件(vsf)。 當用戶點擊一個文件,我加載風格:如何檢查樣式文件是否已經加載?
if TStyleManager.IsValidStyle(sSkinFile, StyleInfo) then
begin
TStyleManager.LoadFromFile(sSkinFile);
TStyleManager.SetStyle(StyleInfo.Name);
end
然而,如果用戶點擊一個已經加載(以前點擊)風格,德爾福將上升,異常:「風格‘金石墨’已經註冊」。
注意:看起來系統在加載新樣式時不會釋放以前的樣式。我認爲如果用戶開始點擊所有列出的樣式,內存消耗會更高一些。
如何檢查樣式是否已加載?
你的答案和Uwe的答案一樣好。非常感謝。 – Ampere
@ rruz-我今天發現的奇怪事情:如果Vcl.Styles不在USES列表中,TStyleManager.IsValidStyle總是失敗!我的意思是,該程序編譯沒有警告;但功能失敗。 – Ampere