Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: TIdFTP List Befehl unter Vista?

  Alt 10. Aug 2007, 08:19
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
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat