- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Virtools Building Block的开发如何用sdk扩展
Virtools Building Block的开发Building Blocks 作为Virtools的重要组成部分,在Virtools的开发中起了举足轻重的作用。Virtools软件本身自带了许多的BuildingBlocks,使用这些BB可以很轻松的开发出出色的作品。但是,由于用户开发的某些特殊用途,需要另外用到一些特殊功能的BB,这就需要使用Virtools 的SDK来开发Building Blocks。
准备工作:在SDK中提供给我们了一个开发Building Blocks的向导文件Virtools Behaviors AppWizard.awx,位于\SDK\Utils\目录下。把它拷贝到\Microsoft Visual Studio\Common\MSDev98\Template目录下。这样,在VC++的IDE环境中,就可以使用MFC Appwinzard来生成一个基本的Virtools Building Blocks架构了。
在Project中选择Virtools项,并填入工程名称,下一步进入定制窗口。
step 1,选择是behavior和manager
step 2,在“ Enter Behavior Name ”填入behavior的名字,这一项不可空缺,因为这一名字将作为与该BB对应的C++文件的文件名,并将显示于Virtools应用程序中。输入框下方的按钮用于随机产生 GUID 。上下左右的按钮上点击选择输入、输出和输入输出变量的数量。(注意,这里,输入输出和输入输出变量是两个不同的概念,英文为Input、Output、Inputparameter、Outparameter。)并可点击相应项更改名称,比如点击In0,则In0变为蓝色,并在窗口左上方显示Name的输入框。下方的下拉列表框中选择BB的Virtools类。
step 3,一系列的复选框,用于定义BB的flag。下方则是callback回调函数。
step 4,若是在第一步钩选了manager项,则这一步为关于manager的选项。填入manager名,并选择ID等等。
step 5,依次填入插件介绍,作者信息、ID。并选择Virtools SDK的安装路径和Virtools Dev 的路径。
大功初成,这样便通过VC++ 的AppWinzard生成了一个BB的源代码。
打开文件浏览器,可发现几个主要的C文件和头文件。如My_Manager.h,这一个头文件的名字以setp 4中manager的名为名,另有与此头文件对应的一C++文件。My_BB_Name.cpp,这一文件以step 2中填入的BB的名字命名。还有一个以工程名命名的文件,如Project_Name.cpp。这几个文件各有所用,所有代码相互作用。以下皆用上述文件名一一介绍。
Project_Name.cpp,这一文件:
其中CKPluginInfo* CKGetPluginInfo(int Index)这一函数最为重要,主要负责插件的信息的注册。
CKPluginInfo* CKGetPluginInfo(int Index)
{
????? int Plugin = 0;
????? g_PluginInfo[Plugin].m_Author??????????? = Virtools;
????? g_PluginInfo[Plugin].m_Description??????? = Some information about Plugin;
????? g_PluginInfo[Plugin].m_Extension????????? = ;
????? g_PluginInfo[Plugin].m_Type????????????????? = CKPLUGIN_BEHAVIOR_DLL;
????? g_PluginInfo[Plugin].m_Version?????????? = 0
????? g_PluginInfo[Plugin].m_InitInstanceFct = NULL;
????? g_PluginInfo[Plugin].m_GUID????????????????? =
CKGUID(0x1BF1A1B2,0x9CB71500);
????? g_PluginInfo[Plugin].m_Summary?????????? = Enter your summary;
????? Plugin++;
????? g_PluginInfo[Plugin].m_Author??????????? = Virtools;
????
您可能关注的文档
- 新目标英语七年级下册单词中英对照表.doc
- 住宅工程接地形式.doc
- x8综合制单a.doc
- 资料中医文献翻译.doc
- 2014福建省厦门市高三3月质检检查英语(word版含答案).doc
- unit9注解笔记.doc
- Android_mk总结.doc
- 高英词汇总结版.docx
- 重庆大学建筑识图与房屋构造复习总结.doc
- 初二期末完形填空练习完型2.doc
- 2024-2030年中国遮阳用品行业应用领域趋势及投资前景效益规划报告.docx
- 民族学校国家统编教材政策解读培训.pptx
- 2024-2030年中国遮阳篷面料行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国遮阳网行业市场运行分析及发展前景与发展策略研究报告.docx
- 二零二四年度危险品配送安全协议.docx
- 儿童心理问题诊断方法.pptx
- 2024-2030年中国遮阳蓬市场营销策略分析与发展趋势预判报告.docx
- 二零二四年度危险废物填埋场建设合同.docx
- 2024-2030年中国遮阳蓬市场营销策略分析与发展趋势预判研究报告.docx
- 2024-2030年中国遥控门行业发展分析及发展趋势预测与投资风险研究报告.docx
文档评论(0)