![]() |
Problem mit RegReadBinaryData
Hallo,
habe folgenden Code: (Schreiben geht / Auslesen nicht) Was ist false?
Delphi-Quellcode:
Thx 4 hlp
// CODE ZUM SPEICHERN
procedure TtfBieter.SaveOptions; var reg: TRegistry; m: TMemoryStream; begin reg:=TRegistry.Create; try reg.RootKey:=HKEY_CURRENT_USER; if reg.OpenKey(cKey,True)then begin m:=TMemoryStream.Create; m.Position:=0; tmSchluss.Lines.SaveToStream(m); m.Position:=0; reg.WriteBinaryData(SCHLUSS,m,m.Size); m.Free; end else raise Exception.Create(ermSaveOptions); finally reg.free; end; end; // CODE ZUM LESEN procedure TtfBieter.LoadOptions; var reg: TRegistry; m: TMemoryStream; size: Integer; begin reg:=TRegistry.Create; try reg.RootKey:=HKEY_CURRENT_USER; if reg.OpenKey(cKey,False)then begin try m:=TMemoryStream.Create; size := reg.GetDataSize(SCHLUSS); reg.ReadBinaryData(SCHLUSS,m,size))); m.Position:=0; tmSchluss.Lines.LoadFromStream(m); finally m.Free; end; end else if reg.KeyExists(cKey)then raise Exception.Create(ermLoadOptions); finally reg.free; end; end; |
Re: Problem mit RegReadBinaryData
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:
Getippt und nicht getestet.
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; Grüße vom marabu |
Re: Problem mit RegReadBinaryData
Ich denke auch, Du müsstest, wenn du den TMemoryStream verwendest, m.Memory und nicht einfach bloß "m" übergeben...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz