c++ DLL作为插件引用另一个项目(主程序)文件时导致不能编辑并继续,调试很不方便。如何才能子控件里调用主程序的资源呢,目前是采集sendmessage 发送消息来返回窗口操作后的结果。可以不用引用文件了。
CString strRet;
BOOL bret = (BOOL)::SendMessage(m_popInfo->hwndTop, WM_OPEN_DLG_SELECT_GROUP, 0, (LPARAM)&strRet);
if (bret)
{
Json::Reader reader;
Json::Value root;
CStringA strAJson;
strAJson = strRet;
if (!reader.parse(strAJson.GetBuffer(strAJson.GetLength()), root))
{
。。。省略
}
主主窗口接收消息:
if (WM_OPEN_DLG_SELECT_GROUP == uMsg)
{
CString* strRet = (CString*)lParam;
if (ShowDlgSelectGroup(*strRet))
{
bHandled = TRUE;
return TRUE;
}
bHandled = TRUE;
return FALSE;
}
bool CMainWnd::ShowDlgSelectGroup(CString& strRet)
{
在这里显示窗口给整个项目其他控件DLL调用。
}