我正在爲Delphi 10 Seattle IDE編寫一個組件編輯器,它有一些窗體佈局的自定義,比如重新調整窗體大小,定位窗體,拆分器以重新打開面板等。我想保存這些設置,使其如此每次用戶打開該編輯器時,都會以它們最後一次留下的佈局打開。我應該在哪裏存儲IDE組件編輯器用戶首選項?
我假設保存這些設置的位置應該位於註冊表的HKCU
部分內的某處,與特定的Delphi IDE版本設置一起。
在註冊表中我應該保存這些設置?
我正在爲Delphi 10 Seattle IDE編寫一個組件編輯器,它有一些窗體佈局的自定義,比如重新調整窗體大小,定位窗體,拆分器以重新打開面板等。我想保存這些設置,使其如此每次用戶打開該編輯器時,都會以它們最後一次留下的佈局打開。我應該在哪裏存儲IDE組件編輯器用戶首選項?
我假設保存這些設置的位置應該位於註冊表的HKCU
部分內的某處,與特定的Delphi IDE版本設置一起。
在註冊表中我應該保存這些設置?
深入挖掘註冊表後,我很確定我找到了它。
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\17.0\Property Editors\
看來,其他財產和組件編輯器保持其性能在這裏,例如TActionList
。有些編輯器會在這個節點中存儲它們的維度。
這給我提出了一個全新的問題:如何檢測Delphi的版本,以便我可以在註冊表的適當位置查找... –
OTA爲當前會話提供註冊表根目錄。 –
@FreeConsulting是的,有'IOTAServices.GetBaseRegistryKey'。這不僅可以使用正確版本的Delphi(當前版本),而且還可以通過使用-r [命令行開關]啓動IDE來更改正確的註冊表項(http://docwiki.embarcadero.com/RADStudio /西雅圖/ EN/IDE_Command_Line_Switches_and_Options)。 (隨意張貼這個答案,恕我直言,這是正確的。) –
爲什麼不是hkcu/software/company/softwaretitle/usersettings? –
@JohnEasley因爲我很確定必須有一個標準的地方,所有其他的編輯也保存他們的設置,並假設我也應該保留在那裏。 –
BDS註冊表應該屬於IDE,IMO。正確的做法是John提到,在這種情況下,您的*全新問題將被調查*消失;如果您正確存儲在您自己的註冊表項下,則無需關心IDE的哪個版本正在運行。 CNWizards和GExperts都使用他們自己的註冊表項。 –