读书人

这是为什么 project raised exception

发布时间: 2012-02-29 16:44:11 作者: rapoo

这是为什么 project raised exception class eaccessviolation with message
代码运行后也进入界面了,鼠标在界面上点来点去晃动一段时间总出现这个问题,弹出窗口点击break后回到这一句://if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ListBox1")) 这段代码如下
另PS:这段代码注释后貌似鼠标再晃也没那个问题了,求解~

void __fastcall TForm1::Panel1MouseLeave(TObject *Sender)
{
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ListBox1"))
//ListBox1->Visible = true;
//else
//ListBox1->Visible = false;
//
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ListBox2"))
//ListBox2->Visible = true;
//else
//ListBox2->Visible = false;
//
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ListBox3"))
//ListBox3->Visible = true;
//else
//ListBox3->Visible = false;
//
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ListBox4"))
//ListBox4->Visible = true;
//else
//ListBox4->Visible = false;
//
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ListBox5"))
//ListBox5->Visible = true;
//else
//ListBox5->Visible = false;
//
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ListBox6"))
//ListBox6->Visible = true;
//else
//ListBox6->Visible = false;
//
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ComboBox1"))
//ComboBox1->Visible = true;
//else
//ComboBox1->Visible = false;
//
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ComboBox2"))
//ComboBox2->Visible = true;
//else
//ComboBox2->Visible = false;
//
//if(FindVCLWindow(Mouse->CursorPos)->ClassNameIs("ComboBox3"))
//ComboBox3->Visible = true;
//else
//ComboBox3->Visible = false;
}

[解决办法]
看错误信息,是访问内存地址指针错误
FindVCLWindow(Mouse->CursorPos)
这个返回值要加工判断,有可能返回值是NULL值

读书人网 >C++ Builder

热点推荐