Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdFTPCommon.dcu nicht auf Computer (https://www.delphipraxis.net/169261-idftpcommon-dcu-nicht-auf-computer.html)

bekas 7. Jul 2012 16:52


IdFTPCommon.dcu nicht auf Computer
 
Hallo liebes Forum,

ich möchte mit einem virtuellen FTP-Server arbeiten und habe herausgefunden, dass ich dafür die Datei IdFTPCommon.dcu in die Uses einbauen muss. Nur befindet sich diese Datei nicht auf meinem Computer!
Wo bekomme ich sie her?

Vielen Dank schonmal für eure Antworten.

bekas

himitsu 7. Jul 2012 16:59

AW: IdFTPCommon.cdu nicht auf Computer
 
Wie hast'n das rausgefunden?

Je nach Indy-Version benötigt man manchmal unterschiedliche Dateien.


Was genau für eine Klasse willst du verwenden und was ist ein virtueller FTP-Server?

TIdFTPServer? (liegt bei mir in der Unit IdFTPServer)
Oder meinst du einen lokalen Server?



Wichtige Zusatzinfos wären manchmal garnicht sooooooo schlecht:

Welche Delphi-Version nutzt du?

Hast du selber eine andere Indy-Version installiert und wenn ja, welche?

bekas 7. Jul 2012 17:06

AW: IdFTPCommon.cdu nicht auf Computer
 
Ich hab mir mit xampp einen Server am Computer erstellt. Ich würde gerne dieses Stück Code verwenden:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  MemStream: TMemoryStream;
begin

  MemStream := TMemoryStream.Create;
  try
    Memo1.Lines.SaveToStream(MemStream);
    MemStream.Position := 0;
    with IdFTP1 do
    begin
      Host := 'ftp.MyFtpServer.de';
      Username := 'MyUsername';
      Password := 'MyPassword';
      Passive := True;
      TransferType := ftASCII;
      Connect(True, 3000);
      if Connected then
      begin
        Put(MemStream, 'MyFile.txt');
        Disconnect;
      end;
    end;
  finally
    MemStream.Free;
  end;

end;
Es gibt immer einen Fehler bei "IdFTP1"

Ich benutze Delphi 7 Personal.
Wegen INDY-Versionen hab ich keine Ahnung. Ich bin Anfänger.

himitsu 7. Jul 2012 19:23

AW: IdFTPCommon.cdu nicht auf Computer
 
Zitat:

Zitat von bekas (Beitrag 1173915)
Es gibt immer einen Fehler bei "IdFTP1"

Und was für ein Fehler? :wall:


Anhand des Namens würde ich mal davon ausgehn, daß du die Komponente TIdFTP (aus'm Reiter Indy-Clients der Komponentenpalette) auf die Form pappen und mit dem Namen "IdFTP1" (oder du gibst ihr einen ordentlichen Namen und benennst es im Code um) versehen solltest.

Die TIdFTP kommt aus der Unit IdFTP.

Program Files\Borland\Delphi7\Lib\IdFTPCommon.dcu
Program Files\Borland\Delphi7\Lib\Debug\IdFTPCommon.dcu
Program Files\Borland\Delphi7\Source\Indy\IdFTPCommon.pas (gibt's aber vermutlich nicht in der Personal)

bekas 8. Jul 2012 06:25

AW: IdFTPCommon.cdu nicht auf Computer
 
Die Fehlermeldung lautet (gleich beim Starten):
[Fehler] Unit1.pas(36): Undefinierter Bezeichner: 'IdFTP1'
Die Dateien, deren Pfade du aufgeschrieben hast, existieren bei mir nicht. Genau das ist mein Problem.

bekas

himitsu 8. Jul 2012 09:42

AW: IdFTPCommon.cdu nicht auf Computer
 
Und was muß man da machen?

> es definieren

Zitat:

Anhand des Namens würde ich mal davon ausgehn, daß du die Komponente TIdFTP (aus'm Reiter Indy-Clients der Komponentenpalette) auf die Form pappen und mit dem Namen "IdFTP1" (oder du gibst ihr einen ordentlichen Namen und benennst es im Code um) versehen solltest.
Variablennamen, welche wie die Klasse heißen, aber hne das T und hinten mit Nummer, liegen fast immer auf der Form, da dieses die Standardnamensvergabe der VCL entspricht
und viele vergessen ihren Komponenten "sprechende" Namen zu verpassen.

z.B. 200 TEdit's mit den Namen Edit1 bis Edit200 sind halt sehr verständlich, denn da weiß ja jeder sofort welches Edit wofür zuständig ist. :roll:

bekas 8. Jul 2012 21:38

AW: IdFTPCommon.cdu nicht auf Computer
 
Gibt es dafür vielleicht eine Schritt-für-Schritt-Anleitung?

omata 8. Jul 2012 21:52

AW: IdFTPCommon.cdu nicht auf Computer
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  MemStream: TMemoryStream;
  IdFTP1: TIdFTP;
begin
  IdFTP1 := TIdFTP.Create(nil);
  MemStream := TMemoryStream.Create;
  try
    Memo1.Lines.SaveToStream(MemStream);
    MemStream.Position := 0;
    with IdFTP1 do
    begin
      Host := 'ftp.MyFtpServer.de';
      Username := 'MyUsername';
      Password := 'MyPassword';
      Passive := True;
      TransferType := ftASCII;
      Connect(True, 3000);
      if Connected then
      begin
        Put(MemStream, 'MyFile.txt');
        Disconnect;
      end;
    end;
  finally
    MemStream.Free;
    IdFTP1.Free;
  end;
end;

himitsu 9. Jul 2012 00:04

AW: IdFTPCommon.cdu nicht auf Computer
 
Zitat:

Zitat von bekas (Beitrag 1173990)
Gibt es dafür vielleicht eine Schritt-für-Schritt-Anleitung?

Du hast meinen letzten Beitrag gelesen? (vorallem das nochmals Zitierte)

Das ist doch praktisch eine Schritt-für-Anleitung.
Ist genauso, wie man ein TEdit verwendet. :roll:

Und omata hat jetzt noch gezeigt, wie man diese Komponente "manuell" zur Laufzeit erstellt und wieder freigibt. (nur solange, wie sie für diesen Aufruf benötigt wird)

bekas 9. Jul 2012 13:42

AW: IdFTPCommon.cdu nicht auf Computer
 
Zitat:

Anhand des Namens würde ich mal davon ausgehn, daß du die Komponente TIdFTP (aus'm Reiter Indy-Clients der Komponentenpalette) auf die Form pappen und mit dem Namen "IdFTP1" (oder du gibst ihr einen ordentlichen Namen und benennst es im Code um) versehen solltest.
Bei mir gibt es keinen Indy-Clients-Reiter und somit auch keine TIdFTP-Komponente. Hab ich vielleicht nur eine abgespeckte Version von Delphi???

himitsu 9. Jul 2012 13:48

AW: IdFTPCommon.cdu nicht auf Computer
 
Indy ist eine Fremdkomponente, welche Borland/Codegear/Embarcadero nur gleich im Delphi mit ausgeliefert.
Darum wäre ich mir relativ sicher gewesen, daß selbst die Personal das mit drin hat, denn Indy selber ist kostenlos. :gruebel:

Nja, ansonsten kann man es sich auch direkt vom Hersteller besorgen und selbst installieren.
http://www.indyproject.org/Sockets/index.DE.aspx
(falls es Schwierigkeiten gibt ... irgendwo im Forum gibt es einige Threads zum Installieren von Indy in Delphi 7, soweit ich mich erinnere)

bekas 9. Jul 2012 14:01

AW: IdFTPCommon.cdu nicht auf Computer
 
Was davon muss ich downloaden (http://www.indyproject.org/Sockets/Docs/index.DE.aspx)? Das sind doch alles nur Teile der Dokumenation, keine Komponenten-Dateien.

himitsu 9. Jul 2012 14:04

AW: IdFTPCommon.cdu nicht auf Computer
 
Du hättest vielleicht besser auf [Downloads] und nicht auf [Documentation] klicken sollen. :zwinker:

Die Version 9 dürfte in Delphi 7 noch laufen, aber bei der 10 bin ich mir nicht sicher, ob D7 noch unterstützt wird.

bekas 9. Jul 2012 14:14

AW: IdFTPCommon.cdu nicht auf Computer
 
oupps danke.
Für den Auto-Installer von Indy 9 funktioniert der Download-Verweis nicht, diese Version ist nicht mehr verfügbar.
Ich hab jetzt "9.0.18 Source code" distribution (http://www.indyproject.org/Sockets/D.../Indy9.DE.aspx) heruntergeladen. Wie geht es weiter?

borstenei 9. Jul 2012 14:19

AW: IdFTPCommon.cdu nicht auf Computer
 
Wobei ich das schon interessant finde Du kopierst Dir ein Stück Code in Deine Anwendung ohne Dich zufragen wofür IdFTP1 steht....

Übrigends leichter als mit xampp geht es mit dem Filezilla Server
http://filezilla-project.org/download.php?type=server

bekas 9. Jul 2012 14:23

AW: IdFTPCommon.cdu nicht auf Computer
 
Naja ich will mit meinem Delphi-Programm einfach nur Dateien auf meien FTP-Server (mit xampp erstellt) schreiben.

Kann mir da jemand weiterhelfen?

omata 9. Jul 2012 21:37

AW: IdFTPCommon.cdu nicht auf Computer
 
Zitat:

Zitat von himitsu (Beitrag 1174101)
Die Version 9 dürfte in Delphi 7 noch laufen, aber bei der 10 bin ich mir nicht sicher, ob D7 noch unterstützt wird.

Indy 10 läuft auch unter Delphi 7


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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