Einzelnen Beitrag anzeigen

Benutzerbild von dahead
dahead

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

Re: Stream in Registrierung speichern

  Alt 22. Dez 2005, 13:32
Hätte das vielleicht schon oben schreiben sollen: das habe ich auch gleich getestet.

Der REG_Binary Eintrag wird auch korrekt (sieht zumindest so aus) erstellt und gespeichert. Leider tritt der Fehler beim Laden immer noch auf.

Hier mal ein Auszug aus beiden Routinen:

Delphi-Quellcode:
procedure LoadSettings;
...
       if Reg.ValueExists(SSetVSTObjectsHeader) then
        begin
         Buffer := TMemoryStream.Create;
         Reg.ReadBinaryData(SSetVSTObjectsHeader, Buffer, Buffer.Size);
         Buffer.Position := 0; //hier
         VSTObjects.Header.LoadFromStream(Buffer);
         Buffer.Free;
        end;
end;

procedure SaveSettings;
...
       Buffer := TMemoryStream.Create;
       VSTObjects.Header.SaveToStream(Buffer);
       Buffer.Position := 0; //hier
       Reg.WriteBinaryData(SSetVSTObjectsHeader, Buffer, Buffer.Size);
       Buffer.Free;
end;
edit: hier mal der code aus der registrierung:

Code:
"ViewToolbar"=dword:00000001
"VSTObjects.Header"=hex:3c,c8,ad,00,00,da,ad,00,84,f3,12,00,26,15,4b,00,8c,1f,\
  ab,00,a1,08,47,00,8c,1f,ab,00,ee,3e,47,00,01,31,47,00,8c,1f,ab,00,04,f4,12,\
  00,71,31,47,00,b3,8c,45,00,7c,f4,12,00,04,f4,12,00,8c,1f,ab,00,83,8a,45,00,\
  00,00,00,00,4e,bc,00,00,f4,02,2b,00,14,f6,12,00,00,00,00,00,d0,f3,12,00,4c,\
  be,45,00,14,f6,12,00,c8,f4,12,00,8c,1f,ab,00,50,f4,12,00,c6,c4,45,00,8c,1f,\
  ab,00,50,f4,12,00,b3,8c,45,00,c8,f4,12,00,50,f4,12,00,8c,1f,ab,00,88,00,d7,\
  77,4c,f2,12,00,00,f3,12,00,cc,b3,d1,77,a7,b3,d1,77,66,03,24,00,48,71,15,00,\
  01,00,00,02,00,00,00,00,01,00,00,00,00,00,00,00,d0,f2,12,00,01,00,00,02,e4,\
  f5,12,00,67,04,d4,77,b0,b3,d1,77,ff,ff,ff,ff,a7,b3,d1,77,7c,2e,46,5d,f4,02,\
  2b,00,20,00,00,00,66,03,24,00,01,00,00,02,c8,f5,12,00,7b,ec,45,5d,1c,ed,45,\
  5d,86,d8,97,7c,d8,79,95,00,4c,f5,12,00,9c,60,0f,5b,d8,79,95,00,fe,ff,ff,ff,\
  fe,ff,ff,ff,d8,7c,95,00,24,79,95,00,64,f3,12,00,41,50,92,7c,8c,f3,12,00,e4,\
  00,13
  Mit Zitat antworten Zitat