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

Reply via email to