VB代码实现如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
写全局数据
            Private Sub writenamedict_Click()
            Dim database As MxDrawXLib.MxDrawDatabase
 
            Set database = MxDrawX1.GetDatabase
 
            Dim nameDict  As MxDrawXLib.MxDrawDictionary
 
            Set nameDict = database.GetNamedObjectsDictionary
 
            Dim myDict  As MxDrawXLib.MxDrawDictionary
 
            Set myDict = nameDict.AddObject("MyDict""McDbDictionary")
 
            Dim xRecord As MxDrawXLib.MxDrawXRecord
            Set xRecord = myDict.AddXRecord("MyGlobalData")
 
 
            If (xRecord Is Nothing) Then
                    MsgBox "向字典中,增加扩展记录失败"
                    Exit Sub
            End If
 
 
            Dim xData2 As MxDrawXLib.MxDrawResbuf
            Set xData2 = New MxDrawXLib.MxDrawResbuf
 
 
 
                xData2.AddLong 99999
                xData2.AddDouble 666
 
                Set ptTest = New MxDrawXLib.MxDrawPoint
                ptTest.x = 77
                ptTest.y = -100
 
                xData2.AddPoint ptTest
 
                xData2.AddString "TestApp2", 1001
                xData2.AddString "张三2"
 
                xRecord.SetXRecordData2 xData2
 
                 MsgBox "写全局数据成功"
 
 
            End Sub
            取全上面写的全局数据
            Private Sub readnamedict_Click()
 
            Dim database As MxDrawXLib.MxDrawDatabase
 
            Set database = MxDrawX1.GetDatabase
 
            Dim nameDict  As MxDrawXLib.MxDrawDictionary
 
            Set nameDict = database.GetNamedObjectsDictionary
 
            Dim myDict As MxDrawXLib.MxDrawDictionary
            Set myDict = nameDict.GetAt("MyDict")
            If (myDict Is Nothing) Then
                    MsgBox "字典中,没有自定义数据"
                    Exit Sub
            End If
 
 
            Dim xRecord As MxDrawXLib.MxDrawXRecord
            Set xRecord = myDict.GetAt("MyGlobalData")
 
 
            If (xRecord Is Nothing) Then
                    MsgBox "向字典中,没有扩展记录"
                    Exit Sub
            End If
 
 
            Dim data As MxDrawXLib.MxDrawResbuf
 
            Set data = xRecord.GetXRecordData2
 
            data.PrintData
 
 
            End Sub

CAD通过扩展记录实体向数据库读写用户自定义的全局数据(com接口VB语言)的更多相关文章

  1. CAD对象的夹点被编辑完成后调用事件(com接口VB语言)

    主要用到函数说明: _DMxDrawXEvents::ObjectGripEdit 对象的夹点被编辑完成后,会调用该事件,详细说明如下: 参数 说明 LONGLONG lId 对象的id LONG i ...

  2. CAD与用户互在图面上得到一个矩形框(com接口VB语言)

    主要用到函数说明: MxDrawXCustomFunction::ExApp_CutDwg 与用户互在图面上得到一个矩形框,详细说明如下: 参数 说明 IN DOUBLE dX1 保存范围的左下角位置 ...

  3. CAD与用户交互在图面上选择一个实体(com接口VB语言)

    主要用到函数说明: IMxDrawUtility::GetEntity 与用户交互到在图面上选择一个实体,详细说明如下: 参数 说明 [out] IMxDrawPoint** pPickPoint 返 ...

  4. CAD把自定义实体,变成普通实体(com接口VB语言)

    主要用到函数说明: MxDrawXCustomEvent::MxDrawXCustomEntity::explode 把自定义实体,变成普通实体,详细说明如下: 参数 说明 LONGLONG lEnt ...

  5. CAD由一个自定义实体事件中的id得到自定义实体对象(com接口VB语言)

    由一个自定义实体事件中的id得到自定义实体对象.该函数只能在自定义实体事件中调用. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 ...

  6. CAD得到0层上的所有实体(com接口VB语言)

    主要用到函数说明: IMxDrawSelectionSet::Select 构造选择集.详细说明如下: 参数 说明 [in] MCAD_McSelect Mode 构造选择集方式 [in] VARIA ...

  7. CAD实现自定义实体夹点移动(com接口VB语言)

    主要用到函数说明: MxDrawXCustomEvent::MxDrawXCustomEntity::moveGripPointsAt 自定义实体事件,自定义实体夹点被移动,详细说明如下: 参数 说明 ...

  8. CAD得到自定义实体拖放夹点(com接口VB语言)

    主要用到函数说明: MxDrawXCustomEvent::MxDrawXCustomEntity::getGripPoints 自定义实体事件,得到拖放夹点,详细说明如下: 参数 说明 LONGLO ...

  9. CAD绘制一个图象标记对象(com接口VB语言)

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

随机推荐

  1. go语言使用官方的 log package 来记录日志

    原文:https://www.goinggo.net/2013/11/using-log-package-in-go.html ------------------------------------ ...

  2. 1.3-动态路由协议EIGRP②

    LAB3:Wildcard Mask in EIGRP (通过反掩码,控制运行EIGRP的接口的范围             作用:控制有哪些接口在运行EIGRP) ~~~~~~~~~~~~~~~~~ ...

  3. 大数据技术之Flume研究摘要(一)

    Flume是Cloudera提供的一个高可用的,高可靠的.分布式的海量日志採集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同一时候,Flume提供对数据进行简单处理 ...

  4. Oracle 简单的列转行

    需求是,统计每一个部门不同工种的薪水总和. SQL> select deptno,ename,job,sal from emp;     DEPTNO ENAME      JOB       ...

  5. Codeforces Round #336 (Div. 2) 608C Chain Reaction(dp)

    C. Chain Reaction time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  6. swift 2.0 语法 字典

    //: Playground - noun: a place where people can play import UIKit /*: 字典 * 和OC的区别 * 1. {} 替换为 [] * 2 ...

  7. URAL 1822. Hugo II's War 树的结构+二分

    1822. Hugo II's War Time limit: 0.5 second Memory limit: 64 MB The glorious King Hugo II has declare ...

  8. c++ vector数组的定义使用

    /* *********************************************** Author :guanjun Created Time :2017/3/18 13:32:52 ...

  9. Linux ALSA声卡驱动之七:ASoC架构中的Codec

    1.  Codec简介(ad/da) 在移动设备中,Codec的作用可以归结为4种,分别是: 对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号 对Mic.Linein或者其他输入源的模拟信 ...

  10. linux用户态和内核态通信之netlink机制【转】

    本文转载自:http://blog.csdn.net/zcabcd123/article/details/8272360 这是一篇学习笔记,主要是对<Linux 系统内核空间与用户空间通信的实现 ...