I think I got NTLM to work with BCB! It seems there are bugs in HttpProt.pas for BCB compilers.
1. First, this should be defined (not sure at what BCB version though) {$DEFINE UseNTLMAuthentication} 2. That got NTLM to work, but then I had a weird corruption problem, appearantly caused by using some functions designed for older versions of Delphi which were probably being used by BCB due to the conditionals. Anyway, my "quick" workaround was simply to add this: {$DEFINE DELPHI3_UP} {$DEFINE DELPHI4_UP} {$DEFINE DELPHI5_UP} I'm sure that's not the correct way, but it seems to have fixed my problem by causing the correct code to be compiled. I suspect that code such as this was being compiled by BCB 6 when it shouldn't have for BCB 6: {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} {$IFNDEF DELPHI5_UP} function StrToIntDef(const S: String; const Default: Integer): Integer; begin try Result := StrToInt(S); except Result := Default; end; end; {$ENDIF} And this: {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} procedure THttpCli.CleanupRcvdStream; begin { What we are received must be removed } if Assigned(FRcvdStream) and (FRcvdCount > 0) then {$IFNDEF DELPHI3_UP} begin if FRcvdStream is THandleStream then begin FRcvdStream.Seek(FRcvdStream.Size - FRcvdCount, 0); FRcvdStream.Write(FRcvdCount, 0); { Truncate !!! } end else if FRcvdStream is TMemoryStream then TMemoryStream(FRcvdStream).SetSize(FRcvdStream.Size - FRcvdCount); { Silently fail for other stream types :-( } { Should I raise an exception ? } end; {$ELSE} FRcvdStream.Size := FRcvdStream.Size - FRcvdCount; {$ENDIF} end; -- Albert Wiersch AI Internet Solutions [EMAIL PROTECTED] http://www.htmlvalidator.com/ -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be