![]() |
FTP Client (indy) für Anfänger - Hilfe!
Hallo!
Ich bekomme ne Fehlermeldung: Zugriffsverletzung der Addresse 000dEC im Moduel ftp.exe
Code:
Exeption: "Could not set Data" tritt ein.
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. Was mach ich falsch? |
Re: FTP Client (indy) für Anfänger - Hilfe!
Du hast ftp noch nicht initialisiert.
Gruß Onlinekater |
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. |
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? |
Re: FTP Client (indy) für Anfänger - Hilfe!
Zitat:
Das meint er mit initialisieren bzw. eine Instanz erstellen. |
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? |
Re: FTP Client (indy) für Anfänger - Hilfe!
Hallo,
lerne die Funktion ExtractFileName() kennen. Freundliche Grüße |
Re: FTP Client (indy) für Anfänger - Hilfe!
Zitat:
kannst du mir vllt noch sagen wie ich nen progressbalken mach? *g* also auf ein tut oder beispiel im board verweisen |
Re: FTP Client (indy) für Anfänger - Hilfe!
Als ich mit "FTP Progress" gesucht habe, bin ich auf das hier gestoßen:
![]() |
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. |
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