Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FTP Datei hochladen [Überschreiben] (https://www.delphipraxis.net/183329-ftp-datei-hochladen-%5Bueberschreiben%5D.html)

Todesmaster123 2. Jan 2015 00:56

FTP Datei hochladen [Überschreiben]
 
Hey Leute,

ich habe ein Problem. Wenn ich versuche eine Datei mit meinem Programm zu uploaden ( die Datei ist schon vorhanden auf dem Server )
bekomme ich folgenden Fehler:

" Zugriffsverletzung bei Adresse 006D522E in Modul 'Teamtool1.exe'. Lesen von Adresse 00000000."

Code:
var
  Ini: TIniFile;
begin

ftp.Host := '...';
ftp.Username := '...';    
ftp.password := '...';
ftp.Connect;

if Combobox2.Text = Titel1.Caption then begin
 ftp.Get('/Team/Dokumente/Dokument1.txt','Dokument1.txt'); //download
 ftp.Get('/Team/Dokumente/Doku.ini','Doku.ini'); //download
 //Speichern
 Memo5.Lines.SaveToFile(Pfad.Text+'Dokument1.txt');

 ftp.Delete('/Team/Dokumente/Dokument1.txt');

 ftp.Put(Pfad.Text+'Dokument1.txt','/Team/Dokumente/Dokument1.txt',False);

    Ini.WriteString('Termin1', 'Erstellt', 'Ja');
    Ini.WriteString('Termin1', 'Titel', Edit8.Text);
    Ini.WriteString('Termin1', 'Ersteller', GroupBox1.Caption);
    Ini.WriteString('Termin1', 'Anhänge', '0');
    Ini.WriteString('Termin1', 'Datum', Edit12.Text);

  ftp.Delete('/Team/Dokumente/Doku.ini');
  ftp.Put(Pfad.Text+'Doku.ini','/Team/Dokumente/Doku.ini',False);

end;
Verbindung besteht, Dateien werden runtergeladen.

MFG _WarElite_

Dalai 2. Jan 2015 01:38

AW: FTP Datei hochladen [Überschreiben]
 
Deine Variable Ini wird (im gegebenen Quelltext) nicht erzeugt und ist daher
Delphi-Quellcode:
nil
und deswegen bekommst du besagte Exception (Nullpointer).

Nichtsdestotrotz wäre interessant zu wissen, in welcher Zeile es knallt.

MfG Dalai

himitsu 2. Jan 2015 02:10

AW: FTP Datei hochladen [Überschreiben]
 
Adresse 000000xx deutet praktich immer auf ein NIL hin, also z.B. auf eine nichtexsistierende Objektinstanz.
Wobei es natürlich reiner Zufall wäre, wenn die lokale Variable "Ini" mit NIL initialisiert wäre, da lokale Variablen nicht initialsiert werden und somit praktisch Zufallswerte enthalten.


Und bei Put verwendetst du z.B. Pfad.Text, während beim Get mit relativem Pfad (also ohne absolute/explizite Pfadangabe) gearbeitet wird, aber das ist ein anderes Problem.


Ist das eigentlich der komplette Code?

Du lädst die Dateien vom FTP runter, machst dann damit garnichts und lädst was Anderes hoch.
Da kann man sich das Runterladen natürlich auch sparen.


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