> > Lars Gehre wrote: > > I believe all versions of ICS have these problems (at least with > > Delphi 7 but I don't think integer or longword are suddenly > Int64 in > > newer delphi versions). > > It seems that ICSv6 and v7 both support Int64: > > {$IFDEF UseInt64ForHttpRange} > THttpRangeInt = Int64; > {$ELSE} > THttpRangeInt = LongInt; { Limited to 2GB size } > {$ENDIF} > > If you use Delphi 7 you upgrade to ICSv6 or even ICSv7.
V5 does support it also. That's why I wrote THttpRangeInt. :) The problems still exists because integer and THttpRangeInt are constantly mixed, as I wrote. At least in V7 Code the same routines are used and will also cause the described problems. I tried V6, but it does not work very well with continous streams, so I will stick with V5, which has proven over the last three years to be extremly stable in streaming. Lars > > -- > Arno Garrels [TeamICS] > http://www.overbyte.be/eng/overbyte/teamics.html > > > > > > The following routines have problems: > > > > - THttpRangeStream.AddPartStream(Value: TStream; AStartPos, AEndPos: > > Integer); > > Integer should be THttpRangeInt > > > > - THttpRangeStream.Read(var Buffer; Count: Longint): > Integer; Result > > := FSize - FPosition; // don't -> Overflow, use seperate > Variable -> > > THttpRangeInt > > > > ActSize := min(Count - DataRead, Rec.Size - (ActOffset)); > //Overflow > > because min only handles Integer. > > > > - THttpConnection.ConnectionDataSent(Sender : TObject; > Error : WORD); > > var > > Count : Integer; > > ToSend : Integer; // Overflow in both use THttpRangeInt instead. > > > > > > - procedure ParseRangeString(var FromStr : String; var ToStr : > > String; const Value : String); > > Don't use StrToInt, Use StrToInt64 > > > > - THttpRangeList.InitFromString(AStr: String); Don't use StrToInt, > > Use StrToInt64 > > > > After these corrections, ICS works flawless, even jumping > around in a > > 16 GB HDTV Recording works without glitches. I simply love ICS! ;) > > > > Greetings > > Lars -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be