Stream beschreiben und auslesen - Was mache ich falsch?
spacer
Autor Nachricht
LittleBen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 166

Win 7, Mac OS
Delphi 7
BeitragVerfasst: Mo 19.09.11 15:42 
Hallo zusammen,
ich weiß, dass es zu diesem Thema hunderte Beiträge im Netz gibt, jeodch konnten die mir nicht weiterhelfen. Beim beschreiben und auslesen eines Memorystream passiert bei mir einfach nichts, dabei habe ich die verschiedensten Methoden ausprobiert. Könnt ihr mir sagen, was ich hier falsch mache?
ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Button1Click(Sender: TObject);
var Stream: TMemoryStream; //oder nur TSream?
cText: string;
len: integer;
begin
Stream:= TMemoryStream.Create;

cText:= 'Test';
Len := Length(cText);
Stream.WriteBuffer(Len, SizeOf(Len));
Stream.WriteBuffer(Pointer(cText)^, Len);

showmessage(LoadStringFromStream(Stream)); //Hier habe ich schon min. 8 Funktionen ausprobiert...

Stream.Free;
end;

Vermute, dass ich da etwas grundlegendes nicht verstanden habe.
Hoffe, ihr könnt mir helfen!

Viele Grüße,
Benny
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic starofftopic star
Beiträge: 1671
Erhaltene Danke: 14

Windows Vista Home Premium 32Bit
RAD Studio 2009 Pro
BeitragVerfasst: Mo 19.09.11 15:47 
Wieso nicht gleich einen TStringStream verwenden?

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var
ss: TStringStream;
s: String;
begin
ss := TStringStream.Create;
try
ss.WriteString('dein string');
s := ss.ReadString(ss.Size);
finally
ss.Free;
end;

Für diesen Beitrag haben gedankt: LittleBen
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Moderator
Beiträge: 8118
Erhaltene Danke: 251

Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
BeitragVerfasst: Mo 19.09.11 15:48 
Was macht denn LoadStringFromStream?

Ist aber vermutlich egal - der Fehler dürfte darin liegen, dass du die Position im Stream nicht zurücksetzt. Denn so wird der String von dort gelesen, wo du dich aktuell im Stream befindest. Und das ist bei dir das Ende, da kann dann nichts mehr gelesen werden.

_________________
Oel ngati kameie.

Für diesen Beitrag haben gedankt: LittleBen
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home