这是为什么 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值