Stream.WriteBytes ?

BlitzMax Forums/BlitzMax Programming/Stream.WriteBytes ?

Where i'm wrong ??? This program work in debug mode but not
in release ??? Any idea ?

mystream:TStream=ReadStream("c:\Filou\Background 03.jpg")
mystream2:TStream=WriteStream("c:\Filou\Background 04.jpg")
WriteBytesBuffer(mystream,mystream2,1024)
Print "done"


Function WriteBytesBuffer(StreamA:TStream,StreamB:TStream,Buffer:Int)
	Local StreamInSize:Int=StreamSize(StreamA)
	Local StreamFlag:Int=0
	Local StreamBank:TBank=CreateBank(Buffer)
	
	While Not Eof(StreamA)
		If StreamFlag+Buffer>=StreamInSize
			Buffer=StreamInSize-StreamFlag
			Print "BlaBla"
		EndIf
		
		StreamA.ReadBytes(StreamBank,Buffer)
		StreamB.WriteBytes(StreamBank,Buffer)
		
		StreamFlag=StreamFlag+Buffer		
		Print Buffer + " / "+StreamFlag
	Wend
	
	CloseStream(StreamA)
	CloseStream(StreamB)
	StreamBank=Null
End Function


I have found

mystream:TStream=ReadStream("c:\Filou\Background 03.jpg")
mystream2:TStream=WriteStream("c:\Filou\Background 04.jpg")
WriteBytesBuffer(mystream,mystream2,1024)
Print "done"


Function WriteBytesBuffer(StreamA:TStream,StreamB:TStream,Buffer:Int)
	Local StreamInSize:Int=StreamSize(StreamA)
	Local StreamFlag:Int=0
	Local StreamBank:TBank=CreateBank(Buffer)
	
	While Not Eof(StreamA)
		If StreamFlag+Buffer>=StreamInSize
			Buffer=StreamInSize-StreamFlag
		EndIf
		
		StreamA.ReadBytes(StreamBank.buf(),Buffer)
		StreamB.WriteBytes(StreamBank.buf(),Buffer)
		
		StreamFlag=StreamFlag+Buffer		
		Print String(Buffer)+" / "+String(StreamFlag)
	Wend
	
	CloseStream(StreamA)
	CloseStream(StreamB)
	StreamBank=Null
End Function