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