請問動態元件建置清除後, 重覆使用問題? |
答題得分者是:m8815010
|
760729
一般會員 發表:32 回覆:51 積分:16 註冊:2004-09-08 發送簡訊給我 |
請各位先進幫忙解決一下問題, 現下我程式中有如下設定: __fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ltAllURL= new TStringList();
ltsh= new TList();
ltTree= new TList();
member= new TStringList();
}
//---------------------------------------------------------------------------
__fastcall TForm1::~TForm1()
{
delete ltAllURL;
delete member; int n=0,i=0; error_count=0;
succes_count=0;
unknowDNS_count=0; if(ltTree->Count>0)
{
n= ltTree->Count;
for(i=n-1;i>=0;i--)
{
TTreeView *tree=(TTreeView*)ltTree->Items[i];
delete tree;
}
} if(ltsh->Count>0)
{
n= ltsh->Count;
for(i=n-1;i>=0;i--)
{
TTabSheet *tab=(TTabSheet*)ltsh->Items[i];
delete tab;
}
}
} 執行時一切正常, 在結果出來後, 我按重新鍵(程式如下), 想在不結束程式下
想重新起始所有變數, 重覆執行程式, 結果出現 List index out of bounds (0) 訊息框. 請問問題發生在何處, 該如何解決? void __fastcall TForm1::Button1Click(TObject *Sender)
{
int n,i;
if(CppWebBrowser1->Busy)
{
ShowMessage("Program busy..");
return;
} member->Clear();
TreeView1->Items->Clear();
Edit1->Text="";
Edit2->Text="";
Edit3->Text="";
Edit4->Text="";
Edit3->Visible=false;
Edit4->Visible=false;
Label3->Visible=false;
Label4->Visible=false;
Button1->Enabled=false;
Form2->ListView1->Clear();
Form2->ListView2->Clear();
Form2->ListView3->Clear();
Edit1->SetFocus();
error_count=0;
succes_count=0;
unknowDNS_count=0; if(ltTree->Count>0)
{
n= ltTree->Count;
for(i=n-1;i>=0;i--)
{
TTreeView *tree=(TTreeView*)ltTree->Items[i];
delete tree;
}
} if(ltsh->Count>0)
{
n= ltsh->Count;
for(i=n-1;i>=0;i--)
{
TTabSheet *tab=(TTabSheet*)ltsh->Items[i];
delete tab;
}
}
TabSheet1->Caption="";
ltsh->Clear();
ltTree->Clear();
delete ltsh;
delete ltTree;
ltAllURL= new TStringList();
ltsh= new TList();
ltTree= new TList();
member= new TStringList();
}
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
|
760729
一般會員 發表:32 回覆:51 積分:16 註冊:2004-09-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |