開発環境はVC++2005 MFC-SDIです
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CActivexDoc),
//RUNTIME_CLASS(CMainFrame),
RUNTIME_CLASS(CActivexFram), ←処理追加
RUNTIME_CLASS(CActivexView));
if (!pDocTemplate)
return FALSE;
pDocTemplate->SetContainerInfo(IDR_CNTR_INPLACE);
AddDocTemplate(pDocTemplate);
class CActivexFram :public CFrameWnd
{
protected:
DECLARE_DYNCREATE(CActivexFram)
CActivexFram();
public:
~CActivexFram(void);
};
上記処理で下記のエラーが出てしまいます。
public: static struct CRuntimeClass const CActivexFram::classCActivexFram (?
classCActivexFram@CActivexFram@@2UCRuntimeClass@@B) は未解決です。
IMPLEMENT_DYNCREATE はCActivexFramのインプリメント時に
記述していますか?
てか、DECLARE_DYNCREATEのヘルプを読めば書いてあると思うけど。
(掲示板を使う前にヘルプを見てもらいたい。)
Sample)
class Hoge : public CObject
{
DECLARE_DYNCREATE(Hoge)
};
IMPLEMENT_DYNCREATE(Hoge, CObject)
// ↑をコメントアウトすると
// 外部シンボル "public: static struct CRuntimeClass const Hoge::classHoge (?
classHoge@Hoge@@2UCRuntimeClass@@B) は未解決です
// が出る
int main(void)
{
CRuntimeClass* p = RUNTIME_CLASS(Hoge);
return 0;
}
それでした、いま比較していて気がつきました。
コンパイルできました。
ありがとうございます。
解決