В допълнение към отговора на TLama, мисля, че най-делфийският начин би бил просто да се направи
type
TRegistryRootKey = (rkClassesRoot, rkCurentUser, rkLocalMachine,
rkUsers, rkPerformanceData, rkCurrentConfig, rtDynData);
...
published
property RootKey: TRegistryRootKey read FRootKey write FRootKey
default rkLocalMachine;
и когато дойде време да използвате стойността, направете нещо подобно
procedure TMyClass.DoSomething;
const
RootKeys: array[TRegistryRootKey] of DWORD = (HKEY_CLASSES_ROOT,
HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_PERFORMANCE_DATA,
HKEY_CURRENT_CONFIG, HKEY_DYN_DATA);
begin
Windows.SomeAPIFunction(RootKeys[FRootKey]);
end;
Разбира се, можете да направите константата RootKeys
частна константа на класа, ако имате нужда от нея в повече от един метод.
person
Andreas Rejbrand
schedule
24.02.2013