Странно работает TRegIniFile

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Странно работает TRegIniFile

Сообщение ifrost » 25.11.2009 13:15:06

Добрый день!

У меня такая проблема:
есть процедура
Код: Выделить всё
procedure TfrmMain.SaveParams;
var
  Ini: TRegIniFile;
begin
  Ini := TRegIniFile.Create('');
  try
    try
      with Ini do
      begin
        RootKey := HKEY_CURRENT_USER;
        OpenKey('Software\ifrost\' + ExtractFileName(Application.ExeName), True);
        WriteString('', 'Chars', Trim(edChars.Text));
        WriteString('', 'OneChar', edOneChar.Text);
      end;
    except
    end;
  finally
    Ini.Free;
  end;
end;

Первая строка WriteString сохраняет значение в HKEY_CURRENT_USER\Software\ifrost\Program.exe\ в параметре Chars, //как и предполагалось :)
а вторая - прямо в корне HKEY_CURRENT_USER в параметре OneChar.

Всё встаёт на свои места если написать так:
Код: Выделить всё
...
        RootKey := HKEY_CURRENT_USER;
        OpenKey('Software\ifrost\' + ExtractFileName(Application.ExeName), True);
        WriteString('', 'Chars', Trim(edChars.Text));
        OpenKey('Software\ifrost\' + ExtractFileName(Application.ExeName), True);
        WriteString('', 'OneChar', edOneChar.Text);
...

Но что-то мне подсказывает что такого не должно быть :)
Подскажите пожалуйста в чём проблема?
ifrost
новенький
 
Сообщения: 21
Зарегистрирован: 13.11.2009 09:19:51

Re: Странно работает TRegIniFile

Сообщение Kon.pasc » 27.11.2009 13:38:03

А нинадо там OpenKey. Он вызывается в TRegIniFile.Create();

Надо так:
Код: Выделить всё
Ini := TRegIniFile.Create('Software\ifrost\' + ExtractFileName(Application.ExeName));
  try
    try
      with Ini do
      begin
        WriteString('', 'Chars', Trim(edChars.Text));
        WriteString('', 'OneChar', edOneChar.Text);
      end;
    except
    end;
  finally
    Ini.Free;
  end;
Kon.pasc
новенький
 
Сообщения: 26
Зарегистрирован: 31.10.2009 17:45:38


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38

Рейтинг@Mail.ru