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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
//! VB6 Class File Properties Module
//!
//! This module defines the properties and attributes of a VB6 class file (.cls).
//! It includes enums and structs to represent various class file properties
//! such as COM usage, persistability, MTS status, data binding behavior, and more.
//!
//! These properties are typically found in the header of a VB6 class file
//! and are not normally visible in the code editor region. They are only
//! visible in the file property explorer.
use Serialize;
use crate;
/// Represents the COM usage of a class file.
/// Only available when the class is part of an `ActiveX` DLL project that is both
/// public and creatable.
///
/// Determines whether the class can be used by multiple clients or a single client.
/// Represents the persistability of a file.
///
/// Only available when the class is part of an `ActiveX` DLL project that is both
/// public and creatable.
///
/// Determines whether the class can be saved to disk.
///
/// If it is `Persistable`, then four procedures: `InitProperties`, `ReadProperties`, and
/// `WriteProperties` events, and the `PropertyChanged` method are automatically
/// added to the class module.
///
/// Without these procedures, the class cannot be saved to disk.
/// Represents the MTS status of a file.
///
/// Only available when the class is part of an activeX DLL project. This should
/// be set to values other than `NotAnMTSObject` (0) if the class is to be used as
/// a Microsoft Transaction Server component.
///
/// Maps directly to the MTS transaction mode attribute in Microsoft Transaction
/// Server.
/// Determines if a class can act as a `DataSource` for VB6 `DataBinding`.
/// Determines the default VB6 `DataBinding` behavior.
///
/// Only available when the class is part of an `ActiveX` DLL project that is both
/// public and creatable.
///
/// Used to specify whether the class supports `DataBinding` and the level of
/// `DataBinding` support.
/// The properties of a VB6 class file is the list of key/value pairs
/// found between the `BEGIN` and `END` lines in the header.
///
/// None of these values are normally visible in the code editor region.
/// They are only visible in the file property explorer.
/// Represents the header of a VB6 class file.
///
/// The header contains the version, multi use, persistable, data binding behavior,
/// data source behavior, and MTS transaction mode.
/// The header also contains the attributes of the class file.
///
/// None of these values are normally visible in the code editor region.
/// They are only visible in the file property explorer.