如何用IdFTP在开始下载之前知道文件的大小?
我使用了IdAntiFreeze
FangFTP是我自己设定的名字空间:
namespace FangFTP
{
int FileTotalCount;
int FileReceivedCount;
}
void __fastcall TForm1::IdFTP1WorkBegin(TObject *Sender,
TWorkMode AWorkMode, const int AWorkCountMax)
{
FangFTP::FileTotalCount=AWorkCountMax/1024;
FangFTP::FileReceivedCount=0;
// ShowMessage(AWorkCountMax);每次都是0!
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1Work(TObject *Sender, TWorkMode AWorkMode,
const int AWorkCount)
{
FangFTP::FileReceivedCount=AWorkCount/1024;
StatusBar1->Panels->Items[1]->Text=AnsiString("已下载:")+IntToStr(FangFTP::FileReceivedCount)
+AnsiString("/")+IntToStr(FangFTP::FileTotalCount);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1WorkEnd(TObject *Sender, TWorkMode AWorkMode)
{
FangFTP::FileTotalCount=0;
FangFTP::FileReceivedCount=0;
// StatusBar1->Panels->Items[1]->Text="";
}
每次IdFTP1WorkBegin中间的AWorkCountMax都是0
如何解决?即如何在开始下载之前知道文件的大小。