Форум: "Основная";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
ВнизЧтение из регистров Windows. Найти похожие ветки
← →
Patrick (2003-09-16 11:20) [0]Подскажите, please, странное дело, записываю в регистр переменную типа integer
TRegistry.WriteInteger("VarInteger", 10);
если сразу прочитаю его
a := TRegistry.ReadInteger("VarInteger");
то всё нормально
но стоит мне закрыть TRegistry и открыть снова
при a := TRegistry.ReadInteger("VarInteger");
возникает ошибка "Failed to get integer value ..."
как то это не понятно, причем строковые переменные читаются нормально.
← →
AGGRESSOR (2003-09-16 11:26) [1]Попробуй прочитать как строковую, а потом приведи к интегеру.
← →
Patrick (2003-09-16 11:49) [2]Это первое, что пришло мне на ум, только хотелось разобраться, почему не работают очевидные вещи.
← →
AGGRESSOR (2003-09-16 12:44) [3]Если так работает, то у тебя ошибка в типах. Загрузи regedit и посмотри, какого типа запись у тебя там создается.
А еще проверь RootKey и вообще все пути.
← →
Patrick (2003-09-16 13:21) [4]Все проверил, вроде всё хорошо. Переменная A : integer, делаю
WriteInteger("A", A) Она создает ключ A типа REG_DWORD, и еще есть переменная B : double , делаю
WriteFloat("B", B) Она создает ключ B типа REG_BINARY, потом выполняю A := ReadInteger("A") и B := ReadFloat("В"), результат один и тот же, может быть надо определять типы не Integer и Double, а как-то иначе?
← →
Lord Warlock (2003-09-16 13:46) [5]Если хочешь нормально работать с реестром, во так : "a := TRegistry.ReadInteger("VarInteger")" никогда не пиши. Лучше всего пользоваться RegOpenKey и др. API-функциями для работы с реестром. Возможно прдется помучаться, разбираясь как это работает, но оно того стоит, никаких глюков..
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c