Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP Client (indy) für Anfänger - Hilfe! (https://www.delphipraxis.net/108650-ftp-client-indy-fuer-anfaenger-hilfe.html)

gene 17. Feb 2008 09:58


FTP Client (indy) für Anfänger - Hilfe!
 
Hallo!

Ich bekomme ne Fehlermeldung: Zugriffsverletzung der Addresse 000dEC im Moduel ftp.exe

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdFTP, ExtCtrls, Buttons;

type
  TForm1 = class(TForm)
    IdFTP1: TIdFTP;
    SpeedButton1: TSpeedButton;
    Panel1: TPanel;
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  ftp : TidFTP;
implementation

{$R *.dfm}

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin
  try
  ftp.Username := 'gene2';
  ftp.Password := '****';
  ftp.Port := 21;
  ftp.Host := 'gene2.ge.funpic.de';
  except
  ShowMessage('Could not set Data');
    end;

   try
    ftp.Connect;
   except
    ShowMessage('Could not connect');
    end;

   try
    ftp.Put('upload.txt', 'upload.txt');
    except
     ShowMessage('Could not upload');
     end;

  ftp.Disconnect;
end;

end.
Exeption: "Could not set Data" tritt ein.

Was mach ich falsch?

TBx 17. Feb 2008 10:13

Re: FTP Client (indy) für Anfänger - Hilfe!
 
Du hast ftp noch nicht initialisiert.

Gruß

Onlinekater

Die Muhkuh 17. Feb 2008 10:14

Re: FTP Client (indy) für Anfänger - Hilfe!
 
Hi,

entweder Du nutzt die Instanz, die schon auf der Form liegt und schreibst statt ftp idftp1 oder Du erstellt Dein ftp-Objekt und kannst dann damit arbeiten.

gene 17. Feb 2008 10:28

Re: FTP Client (indy) für Anfänger - Hilfe!
 
hm aber hab ich doch oder?

var
Form1: TForm1;
ftp : TidFTP;


oder was muss ich tun?

sk0r 17. Feb 2008 10:31

Re: FTP Client (indy) für Anfänger - Hilfe!
 
Zitat:

Zitat von gene
hm aber hab ich doch oder?

var
Form1: TForm1;
ftp : TidFTP;


oder was muss ich tun?

ftp := TidFTP.Create();

Das meint er mit initialisieren bzw. eine Instanz erstellen.

gene 17. Feb 2008 13:36

Re: FTP Client (indy) für Anfänger - Hilfe!
 
danke erstmal alles klappt :D

aber noch ne kleinigkeit

ich hab eingestellt das ftp.puts(edit4.text, edit4.text); ist

also selber name wie auf der festplatte, aber wenn ich uppe is der pfad drinnen als dateiname weil der OpenDIalog den ganzen pfad in der editbox speichert ;/

wie kann ich das bewältigen dass er nur den dateinamen nimmt?

marabu 17. Feb 2008 13:58

Re: FTP Client (indy) für Anfänger - Hilfe!
 
Hallo,

lerne die Funktion ExtractFileName() kennen.

Freundliche Grüße

gene 17. Feb 2008 14:26

Re: FTP Client (indy) für Anfänger - Hilfe!
 
Zitat:

Zitat von marabu
Hallo,

lerne die Funktion ExtractFileName() kennen.

Freundliche Grüße

du bist mein held, danke :D

kannst du mir vllt noch sagen wie ich nen progressbalken mach? *g*

also auf ein tut oder beispiel im board verweisen

marabu 17. Feb 2008 15:07

Re: FTP Client (indy) für Anfänger - Hilfe!
 
Als ich mit "FTP Progress" gesucht habe, bin ich auf das hier gestoßen: Indy FTP-Upload mit Fortschrittsanzeige

gene 17. Feb 2008 15:29

Re: FTP Client (indy) für Anfänger - Hilfe!
 
ich hab das jetzt vom code übernommen... keine fehler aber auch kein fortschritt.

Also er zeigt nichts an... leere bar ;/

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdFTP, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    IdFTP1: TIdFTP;
    OpenDialog1: TOpenDialog;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button2: TButton;
    Edit4: TEdit;
    Label4: TLabel;
    SpeedButton1: TSpeedButton;
    Label6: TLabel;
    Button3: TButton;
    Label5: TLabel;
    ProgressBar1: TProgressBar;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    procedure IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCountMax: Integer);
    procedure IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  ftp : TidFTP;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
    ftp.Username := Edit1.Text;
    ftp.Password := Edit2.Text;
    ftp.Host := Edit3.Text;
    ftp.Port := 21;
    sleep(100);


ftp.Connect;
ftp.Put(Edit4.Text, ExtractFileName(Edit4.Text));
ftp.Disconnect;




end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
OpenDialog1.Execute;
Edit4.Text := OpenDialog1.FileName;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ftp := TidFTp.Create(nil);
end;

procedure TForm1.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  ProgressBar1.Position := AWorkCount;
  Application.ProcessMessages;
end;

procedure TForm1.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  ProgressBar1.Max := AWorkCountMax;
end;

procedure TForm1.IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
ProgressBar1.Position := 0;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ftp.Free;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Label6.Caption := '';
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr.
Seite 1 von 2  1 2      

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