TRegistry GetKeyNames не работает должным образомC++

Программы на C++. Форум разработчиков
Anonymous
TRegistry GetKeyNames не работает должным образом

Сообщение Anonymous »

Я пытаюсь использовать следующий код, чтобы получить список подразделов реестра. GetKeyNames принимает объект TString. По возвращении объект TStringList имеет счетчик 3, что является правильным счетчиком. Однако, хотя TStringList имеет правильное количество, похоже, у него нет имен. Вероятно, это что-то простое, но мне не удалось обнаружить проблему.

Код: Выделить всё

TRegistry *pRegistry = new TRegistry(KEY_READ);
pRegistry->RootKey   = HKEY_LOCAL_MACHINE;
pRegistry->OpenKeyReadOnly(L"\\SOFTWARE\\Ogre\\Fasthole");

TStringList *subkeyNames = new TStringList();
pRegistry->GetKeyNames(subkeyNames);

UnicodeString ALICE  = subkeyNames->Names[0];
всегда имеет значение NULL.
Изменяемый проект изначально был разработан с помощью Athena 12.1. Я обновил этот проект до версии 12.2, создав новый проект и добавив в него все исходные формы. Я все еще получаю тот же результат. Я продолжал работать над этим и нашел следующее:

Код: Выделить всё

TStringList *subkeys = new TStringList();
pRegistry->GetKeyNames(subkeys);
UnicodeString RALPH = subkeys->Strings[0]; Strings[1][1]; Strings[0][1]; 

Подробнее здесь: [url]https://stackoverflow.com/questions/79218470/tregistry-getkeynames-not-working-as-expected[/url]

Вернуться в «C++»