Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Probleme mit TMemoryStream

  Alt 7. Jun 2006, 11:14
Zitat von markusj:
Und bei schreiben und Auslesen ist zu beachten, dass du das ganze als PChar-Pointer übergeben musst. Ein Codevorschlag:

Delphi-Quellcode:
memo1.Lines.Add('TEST1');
memo1.Lines.Add('TEST2');
memo1.Lines.SaveToStream(str);
str.seek(0,soFromBeginning);
setlength(buf,str.size);
str.ReadBuffer(PChar(buf)^,str.size);
mfG

Markus

PS: Wenn du einen String schreiben willst, machst du das über str.write(PChar(somestring)^,length(somestring));
Es muss nicht unbedingt ein PChar sein. Das einzige was du damit erreichts ist das der String=Pointer dereferenziert wird. Du also die Daten direkt übergibst.
Genau so geht auch anstelle von
str.ReadBuffer(PChar(buf)^,str.size); folgendes:
str.ReadBuffer(buf[1],str.size); Der sinn ist also das man keinen Pointer übergibt sondern die Daten (das wo der Pointer hinzeigt).
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat