Zitat von
flattman:
funktioniert leider immer noch nicht.
Ach Gottchen, wie ich doch diese ungemein genauen Fehlerbeschreibungen liebe: "Geht nicht." "Kommt ein Fehler." "Das Ergebnis ist falsch."
Wir können ja Fehlercodes wie in der
API einführen:
- 0: Alles klar, hat geholfen. Problem gelöst.
- 1: Geht nicht.
- 2: Es kommt was raus, was nicht rauskommen soll.
- 3: Kommt ein Fehler.
- x: ...
Zitat:
Der Code sieht jetzt wie folgt aus:
Code:
var memstream:TMemoryStream;
P:PByte;
X:integer;
begin
MemStream:=TMemoryStream.Create;
try
MemStream.Size := 1024000;
P:= MemStream.Memory;
For X := 0 TO MemStream.Size - 1 Do
Begin
P^ := Random(256);
inc(P);
end;
memo1.lines.LoadFromStream(memstream);
finally
memstream.Free;
end;
Überleg doch mal, was da passiert. Ich weiß zwar nicht was passieren soll, aber ich sehe, dass da nichts passiert.
Du erstellst einen MemoryStream, gut.
Du legst seine Größe fest, gut.
Du weißt P die Eigenschaft Memory von MemStream zu, wozu auch immer.
Du durchläufst eine Schleife ein paar tausend mal
Code:
for x = 0 -> ....-1
In der Schleife weißt du P einen zufälligen Wert zu.
Dann erhöst du diesen zufälligen Wert.
Dann lädst du deinen MemoryStream in ein Memo und was erwartest du da jetzt? An keiner Stelle schreibst du irgendwas in den Stream rein. Jedenfalls sehe ich nicht wo. Allerdings kenne ich mich auch nicht so aus mit Streams. Dieses
P := MemStream.Memory
bereitet mir etwas Kopfzerbrechen.