dialog的button事件中不能写this->close()
我的FormClose事件是删除Dialog 指针。 Vdlg 是一个对话框对象指针的向量。name和typename是对话框指针的字符串标记 我做的是聊天程序。
void __fastcall TChatsDlg::FormClose(TObject *Sender, TCloseAction &Action)
{
String title = this->Caption;
int pos = title.Pos("聊天");
String name = title.SubString(3, pos - 3);
if(frmMain->Vdlg.empty())
{
return ;
}
for(int i = 0; i != frmMain->Vdlg.size(); ++i)
{
if(frmMain->Vdlg[i].typeName == name)
{
if(!frmMain->Vdlg[i].typedlg->Memo1->Lines->Text.IsEmpty())
{
this->Memo1->Lines->SaveToFile(ExtractFilePath(Application->ExeName)+FormatDateTime("yyyymmddhhmmss",Now())+".log");
}
delete frmMain->Vdlg[i].typedlg;
frmMain->Vdlg.erase(frmMain->Vdlg.begin() + i);
break;
}
}
}
如题, 为什么一写就出现错误: Access violation at address 40107D8F in module ‘vcl60.bpl’ 。 read of address 01339188.
[解决办法]
解决了就好,明白了原因,继续提高