![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Всегда пользовался Дельфи 7, почти никаких проблем не возникало, а недавно скачал и установил КодГир Дельфи 2009. И вот не могу создать функцию, возвращающую результат HKEY.
Например: function GetRootDir(regpath: string):HKEY; Необходимо, чтобы, в зависимости от условия, возвращалось значение либо HKEY_LOCAL_MACHINE, либо HKEY_CURRENT_USER, либо какое другое. А компилятор выдаёт ошибку: [DCC Error] Hotregistry.pas(16): E2003 Undeclared identifier: 'HKEY' Если использовать String и заключать результат в апострофы, то потом его невозможно использовать в другой функции при команде r.RootKey:= GetRootDir(regpath); так как допустимый тип данных только HKEY. Кто-нибудь знает, как с этим справиться? Заранее спасибо |
|
#2
|
||||
|
||||
|
Ёще почему-то AnsiUpper не работает.
[DCC Error] Hotregistry.pas(41): E2003 Undeclared identifier: 'AnsiUpper' |
|
#3
|
||||
|
||||
|
CG D2009 - гемор, знаю сам... сам на седьмой сижу, и не жалуюсь...
Но, раз просиш не совета на чём сидеть, а помощи - единственное предположение, что ты потерял какой-нить юзес... |
|
#4
|
||||
|
||||
|
нет я только переустановил дельфи
|
|
#5
|
||||
|
||||
|
неужели никто не знает, как справиться с проблемой?
|
|
#6
|
||||
|
||||
|
вообще-то параметры HKEY_LOCAL_MACHINE и т.п. не являются строковыми - это зарезервированные константы:
Код:
const
{ Reserved Key Handles. }
{$EXTERNALSYM HKEY_CLASSES_ROOT}
HKEY_CLASSES_ROOT = DWORD($80000000);
{$EXTERNALSYM HKEY_CURRENT_USER}
HKEY_CURRENT_USER = DWORD($80000001);
{$EXTERNALSYM HKEY_LOCAL_MACHINE}
HKEY_LOCAL_MACHINE = DWORD($80000002);
{$EXTERNALSYM HKEY_USERS}
HKEY_USERS = DWORD($80000003);
{$EXTERNALSYM HKEY_PERFORMANCE_DATA}
HKEY_PERFORMANCE_DATA = DWORD($80000004);
{$EXTERNALSYM HKEY_CURRENT_CONFIG}
HKEY_CURRENT_CONFIG = DWORD($80000005);
{$EXTERNALSYM HKEY_DYN_DATA}
HKEY_DYN_DATA = DWORD($80000006);пробуй передавать так: Код:
DWORD($80000000) |
|
#7
|
||||
|
||||
|
спасибо большое, всё работает
![]() |