Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Problem mit RegReadBinaryData

  Alt 14. Jun 2007, 17:41
Hallo,

du musst in deinem Stream Platz (m.size := GetDataSize) schaffen, bevor du dort etwas ablegen kannst - aber warum einen Stream? Ein einfacher String würde es doch auch tun und der Code wird ein wenig einfacher:

Delphi-Quellcode:
procedure LoadOptions(const key, name: string; lines: TStrings);
var
  reg: TRegistry;
  s: string;
begin
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_CURRENT_USER;
    if reg.OpenKey(key, False) then
    begin
      SetLength(s, reg.GetDataSize(name));
      reg.ReadBinaryData(name, s[1], Length(s));
      lines.Text := s;
    end else
    if reg.KeyExists(key) then
      raise Exception.Create(ermLoadOptions);
  finally
    reg.free;
  end;
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat