FTP 程式存取錯誤? |
答題得分者是:show
|
wasisrk
一般會員 發表:6 回覆:9 積分:3 註冊:2005-03-12 發送簡訊給我 |
我參考書上的範例寫了ftp程式,compiler 過了
但執行到按一個鈕執行抓取ftp server 的檔名到listview 的動作時會出現錯
誤訊息如下:
project project1.exe raised exception class eaccessviolation with message 'access violation at address 0040183b in module projet1.exe' Read of addresss 0000000008' Process stoped 請問是哪裡出錯了呢?
ps:我是用TNMFTP元件,bcb5
附上程式碼 void __fastcall TForm1::ConnectButtonClick(TObject *Sender)
{
NMFTP1->Host=HostTxt->Text;
NMFTP1->Port=StrToInt(PortTxt->Text);
NMFTP1->UserTxt->Text;
NMFTP1->Password=PassTxt->Text;
NMFTP1->Connect(); }
//---------------------------------------------------------------------------
void __fastcall TForm1::DisconnectButtonClick(TObject *Sender)
{
NMFTP1->Disconnect();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RefreshButtonClick(TObject *Sender)
{
ListView1->Items->Clear();
NMFTP1->List();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::NMFTP1Success(TCmdType Trans_Type)
{
switch(Trans_Type)
{ case cmdList:
TListItem *pListItem;
int I;
for (I = 0; I <= (NMFTP1->FTPDirectoryList->name->Count - 1); I )
{
pListItem=ListView1->Items->Add();
//檔名
pListItem->Caption=NMFTP1->FTPDirectoryList->name->Strings[I]; } break; } }
|
show
初階會員 發表:57 回覆:48 積分:31 註冊:2003-05-24 發送簡訊給我 |
我這是從NMFTP的Help看的
你參考一下 void __fastcall TForm1::Button1Click(TObject *Sender)
{
NMFTP1->Host="127.0.0.1";
NMFTP1->Port=21;
NMFTP1->"show";
NMFTP1->Password="123456";
NMFTP1->Connect();
}
//--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender)
{
NMFTP1->Disconnect();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
NMFTP1->List(); }
//---------------------------------------------------------------------------
void __fastcall TForm1::NMFTP1Success(TCmdType Trans_Type)
{
int I;
switch(Trans_Type)
{
case cmdList: {
for (I = 0; I <= (StringGrid1->ColCount - 1);I )
StringGrid1->Cols[I]->Clear();
StringGrid1->RowCount = NMFTP1->FTPDirectoryList->name->Count;
StringGrid1->ColCount = 4;
StringGrid1->Cells[0][0] = "Filename";
StringGrid1->Cells[1][0] = "File Size";
StringGrid1->Cells[2][0] = "Modified Date";
StringGrid1->Cells[3][0] = "Attributes";
for (I = 0; I <= (NMFTP1->FTPDirectoryList->name->Count - 1); I ) {
StringGrid1->Cells[0][I 1] = NMFTP1->FTPDirectoryList->name->Strings[I];
StringGrid1->Cells[1][I 1] = NMFTP1->FTPDirectoryList->Size->Strings[I];
StringGrid1->Cells[2][I 1] = NMFTP1->FTPDirectoryList->ModifDate->Strings[I];
StringGrid1->Cells[3][I 1] = NMFTP1->FTPDirectoryList->Attribute->Strings[I];
}
}
case cmdChangeDir:
{
Memo1->Lines->Add("ChangeDir successful"); //NMFTP1->List();
}
case cmdMakeDir: Memo1->Lines->Add("MakeDir successful");
case cmdRemoveDir: Memo1->Lines->Add("RemoveDir successful");
case cmdDelete: Memo1->Lines->Add("Delete successful");
case cmdRename: Memo1->Lines->Add("Rename successful");
case cmdReInit: Memo1->Lines->Add("Reinitialize successful");
case cmdCurrentDir: Memo1->Lines->Add("CurrentDir successful");
} }
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
AnsiString TheDir;
if (InputQuery("Change Directory", "Which directory?", TheDir))
NMFTP1->ChangeDir(TheDir);
NMFTP1->List();
}
//---------------------------------------------------------------------------
|
show
初階會員 發表:57 回覆:48 積分:31 註冊:2003-05-24 發送簡訊給我 |
|
wasisrk
一般會員 發表:6 回覆:9 積分:3 註冊:2005-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |