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. -- 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