Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - ftp: TChilkatFtp2; ?
Robii - Do 04.06.09 16:15
Titel: ftp: TChilkatFtp2; ?
Hey,
habe ein Programm, indem ich folgende Variable deklariere. Der Code ist aus dem Internet.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATFTP2Lib_TLB, OleCtrls;
type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel;
procedure FormShow(Sender: TObject); private procedure Upload; public end;
var Form1: TForm1;
implementation
{$R *.dfm} procedure TForm1.Upload; var ftp: TChilkatFtp2; success: Integer; localFilename: String; remoteFilename: String;
begin ftp := TChilkatFtp2.Create(Self);
success := ftp.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage(ftp.LastErrorText);
end;
ftp.Hostname := 'ftp.chilkatsoft.com'; ftp.Username := '****'; ftp.Password := '****';
success := ftp.Connect(); if (success <> 1) then begin ShowMessage(ftp.LastErrorText);
end;
success := ftp.ChangeRemoteDir('junk'); if (success <> 1) then begin ShowMessage(ftp.LastErrorText);
end;
localFilename := 'c:/temp/hamlet.xml'; remoteFilename := 'hamlet.xml';
success := ftp.PutFile(localFilename,remoteFilename); if (success <> 1) then begin ShowMessage(ftp.LastErrorText);
end;
ftp.Disconnect();
ShowMessage('File Uploaded!'); end;
procedure TForm1.FormShow(Sender: TObject); var Owner : HWnd; begin Upload; Owner:=GetWindow(Handle,GW_OWNER); ShowWindow(Owner,SW_HIDE); end; end. |
Folgende Fehlermeldung kommt immer:
[Fataler Fehler] Unit1.pas(8): Datei nicht gefunden: 'CHILKATFTP2Lib_TLB.dcu'
Was heißt das, bzw welche Datei kanner nicht finden und wo bekomme ich diese her?
Grüße.
Delete - Do 04.06.09 16:18
Moin!
Da fehlt eine Unit.Ich würde einfach mal nach CHILKATFTP2Lib_TLB googlen und dann downloaden.
Anschließend einfach ins Lib Verzeichnis von Delphi
MfG
jaenicke - Do 04.06.09 16:37
Es handelt sich dabei, wenn ich mich recht entsinne, um eine kostenpflichtige Komponente für de FTP-Zugriff. Die musst du dir also kaufen, wenn du die statt z.B. TIdFTP von den Indys nutzen willst.
// EDIT:
Ja, dem ist so. Es gibt auch eine kostenlose FTP-Komponente dort, aber die FTP 2 ist nicht kostenlos.
http://www.chilkatsoft.com/ChilkatFtp.asp
Nebenbei: Was geht denn mit Indy nicht, dass du lieber eine DLL und ActiveX nutzen willst, denn das ist da es ja, wenn ich das richtig sehe...
Robii - Do 04.06.09 16:47
Ehrlich gesagt, habe ich keine Ahnung. Ich hab einfach gegoogelt und bin auf den Code gestoßen und als Erklärung stand dabei: "Upload von Dateien per FTP mit Delphi". Das war genau das was ich gesucht habe. Daurm hab ich den Code einfach kopiert.
jaenicke - Do 04.06.09 16:49
Ich rate dir einfach TIdFTP zu benutzen, das ist z.B. bei Turbo Delphi direkt verfügbar. Einfach IdFTP in die uses schreiben und die Klasse erzeugen und benutzen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var MyFTP: TIdFTP; begin MyFTP := TIdFTP.Create; try MyFTP. ... finally MyFTP.Free; end; end; |
Nebenbei muss dir klar sein, dass jeder, dem du ein solches Programm gibst, das auf einen FTP-Server zugreift, auch das Passwort und die anderen Logindaten dann hat. Denn das gibst du demjenigen ja direkt mit dem Programm mit.
Robii - Do 04.06.09 16:57
Das weiß ich, vielen Dank, werde mal versuchen deinen AnfangsCode zu vollenden.
---
Moderiert von
Narses: Beiträge zusammengefasst---
Ich hab Delphi 7 PE und da ist es anscheind nicht vorhanden.
E.: Finde aber auch keinen Download-Link..
Robii - Do 04.06.09 17:24
Habe mir jetzt erstmal nur die indy10.zip heruntergeladen. Ist das die richtige Datei? Was muss ich jetzt damit machen, sorry kenne mich noch garnicht aus.
Gruß.
jaenicke - Do 04.06.09 17:31
Dann würde ich an deiner Stelle Turbo Delphi nehmen, da musst du gar nichts weiter machen...
Für D7:
Als erstes musst du die Datei irgendwohin entpacken. Dann gibt es die Datei .\Lib\Fulld7.bat, bei mir sehe ich da keinen Effekt, wenn ich die ausführe, vielleicht funktioniert sie bei dir.
Sonst musst du die Ordner .\Lib\Core, .\Lib\Protocols, .\Lib\Security, .\Lib\SuperCore und .\Lib\System dem Bibliothekspfad hinzufügen. (Tools --> Optionen --> Verzeichnisse/Bedingungen --> Bibliothekspfad oder so ähnlich)
Und wenn du das möchtest musst du dann noch die Packages alle installieren.
Robii - Do 04.06.09 17:38
Scheint bei mir auch keine Wirkung zu haben, werde nach dem Training mal TurboDelphi probieren.
Grüße
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!