Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Socket-Fehler bei IndyFTP (https://www.delphipraxis.net/68101-socket-fehler-bei-indyftp.html)

Ingolf 24. Apr 2006 17:25


Socket-Fehler bei IndyFTP
 
Habe ein kleines Testprogramm geschrieben mit IndyFTP. Besteht nur aus Edit-Objekten für die Anmeldedaten und dem Connect-Button. Sobald ich die Verbindung herstellen will, erscheint der Fehler
http://www.ruegen-board.de/socketfehler.jpg
Ich habe schon die Indy-Demos durchgeforstet, finde aber nichts.
Wie kommt dieser Fehler zu stande? Eine wsocket32.dll ist auf dem PC vorhanden.
Gruß Ingolf

marabu 24. Apr 2006 20:44

Re: Socket-Fehler bei IndyFTP
 
Hallo Ingolf,

für eine vollständige Fehlerbeschreibung musst du auch schreiben, welche Indy / Delphi Version du verwendet hast, ob du die Client oder Server Komponente einsetzt und welche Eigenschaftswerte du bei der Komponente abweichend vom Standard gesetzt hast.

Grüße vom marabu

Ingolf 24. Apr 2006 21:26

Re: Socket-Fehler bei IndyFTP
 
Es ist nur ein kleines Programm. Ich habe mal den Code mit abgebildet. Ich arbeite mit Delphi6.
Die mit Label (1..3) bezeichneten Elemente sind nur Beschriftungen.
Beim TIdFTP-Objekt ist nur "passiv" auf "true" umgestellt. Der Rest ist Standard und wird vom Programm geändert. Sobald der Compiler in die den Befehl "connect" ausführen soll, kommt die Fehlermeldung.

Gruß Ingolf

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Psock, IdBaseComponent, IdComponent, extctrls, comctrls,
  IdTCPConnection, IdTCPClient, IdFTP, IdAntiFreezeBase, IdAntiFreeze;

type
  TForm1 = class(TForm)
    idED: TEdit;       //User-Eingabe
    Label1: TLabel;    //Beschriftung
    Label2: TLabel;    //Beschriftung
    pwED: TEdit;       //Passwort-Eingabe
    Label3: TLabel;    //Beschriftung
    hostED: TEdit;     //Host-Eingabe
    meldung: TLabel;
    verbindenBtn: TButton;
    trennenBtn: TButton;
    ftp: TIdFTP;
    IdAntiFreeze1: TIdAntiFreeze;
    procedure verbindenBtnClick(Sender: TObject);
    procedure trennenBtnClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.verbindenBtnClick(Sender: TObject);
begin
       with FTP do try
                User := idED.Text;
                Password := pwED.Text;
                Host := hostED.Text;
                Connect;

                if Connected then begin
                        verbindenBtn.Enabled:=false;
                        trennenBtn.Enabled:=true;
                        meldung.Caption:='Verbunden';
                       
                end;
            finally
                verbindenBtn.Enabled:=true;
                trennenBtn.Enabled:=false;
                meldung.Caption:='Konnte nicht verbinden';
       end;

end;

procedure TForm1.trennenBtnClick(Sender: TObject);
begin
        FTP.Disconnect;
        meldung.Caption:='Verbindung getrennt';
        verbindenBtn.Enabled := true;
        trennenBtn.Enabled := false;
end;

end.

marabu 25. Apr 2006 08:51

Re: Socket-Fehler bei IndyFTP
 
Funktioniert prima bei mir - nachdem ich finally gegen except getauscht habe. Die Exception wird nicht geworfen.

marabu

Ingolf 25. Apr 2006 13:19

Re: Socket-Fehler bei IndyFTP
 
Also bei mir kommt der Fehler trotzdem. Ich habe das Indy-Demo FTPDemo.dpr getestet und das läuft.
Allerdings hab ich mir inzwischen den Quelltext des Demos zerkloppt. Bekommt man das irgendwoher?

Gruß Ingolf

marabu 25. Apr 2006 18:57

Re: Socket-Fehler bei IndyFTP
 
Vielleicht findest du was du brauchst auf der offziellen Indy Project Demo Seite: klick

marabu

Ingolf 25. Apr 2006 20:59

Re: Socket-Fehler bei IndyFTP
 
Habe Indy 10.1.5 installiert und erhalte jetzt beim compilieren des Projekts folgenden Fehler:

[Fataler Fehler] ftp2testunit.pas(8): Unit IdCommandHandlers wurde mit einer unterschiedlichen Version von IdComponent.TIdComponent compiliert

Hast Du eine Ahnung, wodurch dieser Fehler kommt? Laut Indy sind Service-Pack2 und RTL3 Vorrausetzung. Beides ist drauf.

Gruß Ingolf

mkinzler 25. Apr 2006 21:03

Re: Socket-Fehler bei IndyFTP
 
Die beiden units wurden gegen verschiedene Versionen von Indy gelinkt. Erstell(Kompiliere) mal alles neu.

Ingolf 29. Apr 2006 19:57

Re: Socket-Fehler bei IndyFTP
 
Sag mir mal, wie das geht. Ich bilde mir ein, alles kompiliert zu haben, aber es ändert sich nichts.

Gruß Ingolf


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz