Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Странные вещи творятся в реестре.


Автор: Erazer 20.4.2009, 11:29
Этот код выполянется в OnCreate  формы,если запустить 1 экземпляр все работает, но если не закрывать его и запустить второй, то получаю пустую строку, данные в реестре тоже перезаписываются пустотой или -1 (0xFFFFFFF),если читаю число. Не могу понять в чем дело :-(
Код

Reg := TRegistry.Create(KEY_READ);//только чтение
    try
      Reg.RootKey := Key;
      if Reg.OpenKeyReadOnly
      begin
          DestPath := Reg.ReadString('DestinationPath');      
     end;
    finally
      Reg.CloseKey;
      Reg.Free;
    end;

Автор: Poseidon 21.4.2009, 10:30
Цитата(Erazer @  20.4.2009,  11:29 Найти цитируемый пост)
данные в реестре тоже перезаписываются пустотой или -1
Вот это не совсем понятно. Доступ ведь KEY_READ

Автор: Erazer 21.4.2009, 16:18
О чем я как раз и говорю, у меня уже мозги закипают. Мало того что прочесть не получается так еще и мои данные перезаписываются!

Автор: Poseidon 21.4.2009, 16:32
Видимо они перезаписываются в другом месте. А потом уже читаются. Просмотри весь код. Можешь даже поиском по слову "write" пройтись.

Автор: Erazer 23.4.2009, 23:48
Спасибо за совет,но я то свой код знаю... Работа с реестром идет в OnCreate и OnClose, и то сначала чтение потом запись. Я уж думаю может из-за аспротекта ? Проблема проявляется только в этой проге, все остальные работают без проблем.

Автор: Poseidon 24.4.2009, 10:21
Есть такая утилита - regmon. Промониторь ей кто лезет в твою ветку и что там делает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)