Einzelnen Beitrag anzeigen

Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#3

Re: Stream in Registrierung speichern

  Alt 22. Dez 2005, 12:14
Hallo,

erstmal danke für deine zügige und informative Antwort.

Ich habe das natürlich gleich mal getestet und dann wie folgt umgebaut:

Delphi-Quellcode:
 Buffer := TMemoryStream.Create;
 VSTObjects.Header.SaveToStream(Buffer);
 Reg.WriteBinaryData(SSetVSTObjectsHeader, buffer, buffer.Size);
 Buffer.Free;
Also ich habe nur das .memory von Buffer entfernt, da der Compiler mir gemeldet hat, dass ein "constant object nicht als var parameter übergeben werden darf".

So wie es aussieht speichert er die Infos aber korrekt ab.

Nun möchte ich sie allerdings auch wieder laden. Das mache ich momentan wie folgt:

Delphi-Quellcode:
if Reg.ValueExists(SSetVSTObjectsHeader) then
 begin
  Buffer := TMemoryStream.Create;
  Reg.ReadBinaryData(SSetVSTObjectsHeader, Buffer, Buffer.Size);
  VSTObjects.Header.LoadFromStream(Buffer);
  Buffer.Free;
 end;
Leider bekomme ich da den Fehler:

Delphi-Quellcode:
---------------------------
Debugger Exception Notification
---------------------------
Project raised exception class ERegistryException with message 'Invalid data type for 'VSTObjects.Header''. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
  Mit Zitat antworten Zitat