Как я могу получить имя класса документа в моей программе. Я имею в виду, я сделал это:
pDocTemplate = new CMultiDocTemplate(
IDR_FRAMETYPE,
RUNTIME_CLASS(CFrameDoc2D),
RUNTIME_CLASS(CEditorChildFrame),
RUNTIME_CLASS(CFrameView));
gl_pDocTemplateManager->AddTemplateInfo("CMyDoc", eStructure);
AddDocTemplate(pDocTemplate);
я хочу получить CMyDoc
строка в другом проекте (.dll) моего решения MSVC через CDocument
учебный класс. Я не могу привести к определенному классу документа из-за циклических зависимостей.
Я не уверен что AddTemplateInfo()
делает, это не похоже на стандартную функцию MFC.
Чтобы получить имя класса, вы можете использовать что-то вроде:
CRuntimeClass *pClass = pDoc->GetRuntimeClass();
if (pClass != NULL)
TRACE(_T("Document class = %S\n"), pClass->m_lpszClassName);
НОТА: m_lpszClassName
является ASCII (LPCSTR
) и код выше предполагает, что ваш проект основан на Unicode — в противном случае измените %S
в %s
,
Других решений пока нет …