Ja testweise bei der Installation.. die ist aus
ich bin mal noch weiter in den Code rein.
In der idStackWindows:
Delphi-Quellcode:
procedure TIdStackWindows.Connect(const ASocket: TIdStackSocketHandle;
const AIP: string; const APort: TIdPort;
const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION);
var
LAddr: TSockAddrIn;
Addr6: TSockAddrIn6;
begin
case AIPVersion of
Id_IPv4: begin
LAddr.sin_family := Id_PF_INET4;
TranslateStringToTInAddr(AIP, LAddr.sin_addr, Id_IPv4);
LAddr.sin_port := HToNS(APort);
CheckForSocketError(IdWinsock2.Connect(ASocket, @LAddr, SizeOf(LAddr)));
end;
Id_IPv6: begin
Addr6.sin6_flowinfo:=0;
Addr6.sin6_scope_id:=0;
Addr6.sin6_family := Id_PF_INET6;
TranslateStringToTInAddr(AIP, Addr6.sin6_addr, Id_IPv6);
Addr6.sin6_port := HToNs(APort);
CheckForSocketError(IdWinsock2.Connect(ASocket, psockaddr(@Addr6), SizeOf(Addr6)));//Wenn ich hier einen Haltepunkt mache und dann F7 drücke hängts.. also vmtl die Zeile in der was bzw. nix passiert
end;
else begin
IPVersionUnsupported;
end;
end;
end;
Seltsam ist ja, dass er beim erstenmal durchläuft mit der Adresse und dem Port vom Proxy und beim zweitenmal wo er das durchläuft hat er ne falsche
IP und falschen Port.
Edit: Der erste Durchlauf ist der TIdFTP.Connect, der Zweite TIdFTP.List
Edit2:
Ich hab mal geschaut wo er diese seltsame
IP herbekommt.
In der IdFTP:
Delphi-Quellcode:
procedure TIdFTP.SendInternalPassive(const ACmd: String; var VIP: string;
var VPort: integer);
var
i,bLeft,bRight: integer;
s: string;
begin
SendDataSettings;
SendCmd(ACmd, 227); {do not localize}
s := Trim(LastCmdResult.Text[0]);//Hier wird die eingelesen und später zugewiesen