明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1626|回复: 2

基于CAB技术的CAD开发实现(一)

[复制链接]
发表于 2011-3-22 12:27:35 | 显示全部楼层 |阅读模式
本帖最后由 efan2000 于 2011-3-23 11:24 编辑

    CAB(Composite UI Application Block 组合界面程序块),使用了目前商业客户端应用程序常用的设计模式来构建了一个灵活的基础框架。基于这个框架可以很容易的帮助你编写运行在Microsoft .Net平台上的具有复杂用户交互界面的Windows Form 应用程序。
    优点:
1:允许构建由各个具有协作关系的独立模块组合成的复杂应用。
2:分离关注点,能将各个模块的开发的关注点和Shell的开发分离开来。
3:提供了一个能支持高质量的桌面应用开发的框架
4:提高了生产力和节约了开发时间,进一步巩固了架构师和开发人员的劳动成果。
    创建CAB项目的步骤:
1:新建项目。
2:在工程Shell中,将应用程序类型更改为类库。添加CAD的引用,AcDbMgd.dll和AcMgd.dll,更改它们的属性复制本地为False。
3:在文件ShellApplication中,导入Autodesk.AutoCAD.Runtime,设定该类为命令类,<Assembly: CommandClass(GetType(ShellApplication))>。将过程Main变更为Cab,同时指定它为CAD命令。<CommandMethod("Cab")> _
   Public Sub Cab()
#If DEBUG Then
        RunInDebugMode()
#Else
        RunInReleaseMode()
#End If
    End Sub
4:注释掉工程Library中的文件DependentModuleLoaderService中的GetModulePath函数中的语句assemblyFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, assemblyFile),修改文件ModuleMetadataReflectionHelper中的LoadFile为LoadFrom,共两处,此为BUG。
5:修改工程Shell中的文件ProfileCatalog.xml,将AssemblyFile后的引号内内容添加前缀SmartClientDevelopmentSolution1.,共两处,此为BUG。
6:运行CAD,使用NetLoad命令加载SmartClientDevelopmentSolution1.Infrastructure.Shell.dll文件,输入命令Cab,即可看到结果。

该贴已经同步到 efan2000的微博

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1威望 +1 明经币 +2 金钱 +12 收起 理由
雪山飞狐_lzh + 1 + 2 + 12

查看全部评分

发表于 2011-6-29 16:33:47 | 显示全部楼层
很感谢分享,多谢了,学习一下
发表于 2011-6-30 09:58:17 | 显示全部楼层
这个CAB项目需要安装什么模版吗?还有就是能不能详细介绍一下CAB?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 21:41 , Processed in 0.175027 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表