Entwickler-Ecke
Dateizugriff - TStreams kopieren
Aya - Do 17.07.03 19:03
Titel: TStreams kopieren
Hi,
ich hab ein kleines Problem ;)
Ich habe 3 TStreams: A, B unc C
Delphi-Quelltext
1: 2:
| var A, B, C: TStream; |
In Stream A speichere ich nun ein TBitmap:
Delphi-Quelltext
1:
| Bitmap.SaveToStream(A); |
Nun schreibe ich in Stream B die Größe von Stream A und hänge anschließend Stream A an Stream B dran:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var sSize: Int64; begin sSize:=A.Size; A.Seek(0,soFromBeginning); B.Write(sSize,SizeOf(sSize)); B.CopyFrom(A,sSize); |
Soweit sogut... nun möchte ich aber das Bitmap wieder laden (Stream A existiert nun nichtmehr!):
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var sSize: Int64; begin B.Read(sSize,SizeOf(sSize9); C.CopyFrom(B,sSize); Bitmap.LoadFromStream(C); |
Beim Laden des Bitmaps, rödelt der jetzt ne ewigkeit an der Zeile C.CopyFrom rum... ich hab es jedesmal abgebrochen, da er selbst nach 1 Minute da nochnich weiter war... was ist daran falsch???
Au'revoir,
Aya~
Horst - Do 17.07.03 19:25
Hallo,
die genau Ursache kann ich so auch nicht ersehen, da ich mich mit streams noch nicht so intensiv beschäftigt habe. Ich habe aber die Vermutung, dass du ein Begrenzungsbyte setzen mußt, sonst versucht das Programm beim Laden den kompletten Speicher auszulesen.
Oder Du versuchst es mal mit writeBuffer, diese Methode gibt zumindestens einen Fehler zurück, wenn etwas schief gelaufen ist. Hilf das weiter :?:
Gruß
Horst
:wave:
Moderiert von
Tino: Absätze entfernt.
Aya - Do 17.07.03 21:20
Hat sich erledigt.. hab nen fehler beim Speichern in den Stream gemacht :oops:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!