Einzelnen Beitrag anzeigen

DevilsCamp
(Gast)

n/a Beiträge
 
#9

Re: Stream in Registrierung speichern

  Alt 22. Dez 2005, 13:04
Zitat von DevilsCamp:
Ich wollte gerade das selber testen, da habe ich den Fehler gefunden:

Delphi-Quellcode:
Buffer := TMemoryStream.Create;
Reg.ReadBinaryData(SSetVSTObjectsHeader, Buffer, Buffer.Size); // <---- Hier ist der Fehler.
Folgendes Problem existiert:
Du createst eine TMemoryStream Instanz.
Dann ist
Buffer.Size = 0 Jetzt liest du NULL Bytes aus der Registry in einen Buffer

Es ist zwar anders als ich erst vermutete aber in einem hatte ich Recht:
Der MemoryStream ist leer


Ausweg:
Nutze statt TRegistry die Klasse TRegistryIniFile.
Da hast du zwei Methoden Namens WriteBinaryStream und ReadBinaryStream. Damit hast du keine Probleme (das nutze ich in einem Programm selber).

Oder du speicherst in einem anderen Key die Größe des Headers und liest die dann aus, bevor du die Daten lädst.
Narf. Bin ausversehen auf den Zitat-Button gekommen.
Kann jemand diesen Post hier löschen?
  Mit Zitat antworten Zitat