Ich möchte das Datum einer Datei per IDFTP (Indies 10) anzeigen, kriege aber immer diese Fehlermeldung:
"Im Projekt ist eine
Exception der Klasse EListError aufgetreten. Meldung: 'Listenindex überschreitet das Maximum (0)'. ..."
Was stimmt nicht?
Code:
procedure TForm1.Button29Click(Sender: TObject);
Var
LS: TStringList;
datum1: TDateTime;
begin
LS := TStringList.Create;
try
IdFTP1.username := username1;
IdFTP1.Password := password1;
IdFTP1.Host := hostname1;
IdFTP1.Connect;
if IdFTP1.Connected then
begin
IdFTP1.ChangeDir('/abc');
IdFTP1.List(LS,'index.htm', True);
datum1 := idFTP1.DirectoryListing.Items[0].ModifiedDate; <<< Fehler
ShowMessage(DateTimeToStr(datum1));
IdFTP1.Quit;
end;
except
ShowMessage('Leider fehlgeschlagen.');
end;
end;
Ich habe mir dann mal die fraglichen Werte mit showmessage im Einzelnen so ausgeben lassen:
Code:
IdFTP1.List(LS,'index.htm', True);
ShowMessage('LS.strings[0]: ' + LS.Strings[0]);
>>>Ausgabe: '9660 Feb 10 13:03 index.htm'
showmessage('IdFTP1.DirectoryListing.count: '+ IntToStr(IdFTP1.DirectoryListing.count));
>>>Ausgabe: '0'
datum1 := IdFTP1.DirectoryListing.Items[0].ModifiedDate;
ShowMessage('Datum: ' + DateTimeToStr(datum1));
>>>Ausgabe: 'Im Projekt ist eine
Exception der Klasse EListError aufgetreten. Meldung: "Listenindex überschreitet das Maximum (0)". ...'
Wie kann es nun aber sein, dass zwar LS.strings[0] einen String liefert, IdFTP1.DirectoryListing.Items[0] aber anscheinend leer ist?
Wer weiß Rat?
Jeppes