必威体育Betway必威体育官网
当前位置:首页 > IT技术

DECLARE_DYNCREATE(class_name)的具体作用

时间:2019-05-30 17:40:00来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

declare_dyncreate

declare_dyncreate(class_name)的具体作用

首先还是看msdn的解释和这个语句的定义:

msdn的解释:

启用 CObject对象 --将动态创建的派生类在运行时。

DECLARE_DYNCREATE(class_name )

框架使用此功能动态创建新的对象。 例如,创建的新视图,当您打开新文档。 文档,查看,并且,框架类应支持动态创建,因为框架需要动态创建它们。

添加在 .h 模块的 DECLARE_DYNCREATE 宏类的,然后包括该模块在需要访问此类对象的任何 .cpp 模块。

如果 DECLARE_DYNCREATE 在类声明中,则类实现必须包含 implement_dyncreate

定义:

#define DECLARE_DYNCREATE(class_name) 

通过上面的解释:大致理解是使用这个DECLARE_DYNCREATE(class_name)可以使每个CObject的对象在运行的时候具备动态创建的能力。框架利用这种能力来创建对象,例如当它从磁盘读取一系列对象的时候,很多对象都需要动态的去创建。

msdn中解释道:在类的.H模块中加入DECLARE_DYNCREATE宏,然后在每个需要访问这个类的对象的.CPP模块中包含这个模块。

               如果在类声明中包含了DECLARE_DYNCREATE,那么必须在类的实现中包含IMPLEMENT_DYNCREATE宏。

一句话概括:就是为了是cobject的对象在运行的时候具备动态创建的能力,如果在类声明加入了这句,在类的实现中必有有对应的IMPLEMENT_DYNCREATE宏,发现frm、view、doc的类的实现里均有对应的IMPLEMENT_DYNCREATE宏

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读