工具:VS2019
描述:我创建了一个MFC的dll项目,dll项目的窗体上放了一个combobox 控件,并且给这个控件添加了一个CComboBox类型的变量m_combox1,然后我给控件的列表框添加列表项,代码如下:
void ToolLibraryDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO1, m_combox1);
m_combox1.AddString(_T("AMADA-X"));
m_combox1.SetCurSel(0); // 默认选择第一项
}
//因为是要一开始就有下拉选项,所以我写在了DoDataExchange里面
然后,我又创建了MFC的应用项目来调用这个DLL窗体(已知,在”添加列表项“之前调用窗体没问题),然后就出现了下图所示的错误,错误指向“m_combox1.AddString(_T("AMADA-X")); 和 m_combox1.SetCurSel(0);
(PS:还有一个很奇怪的点,就是这个问题的出现是很不稳定的
情况一:第一次调出DLL窗体就报错
情况二:第一次调出窗体不报错,后面的就都报错
请况三:不出错
情况四:其他)