Delphi-PRAXiS
Seite 1 von 2  1 2      

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???


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.
Seite 1 von 2  1 2      

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