|
VB Decompiler Hosted by TheAutomaters.com
|
Author |
Message |
Beyond2000! New User
Joined: 09 Nov 2003 Posts: 2
|
Posted: Tue Oct 12, 2004 5:58 pm
Post subject: Question about Public Object Descriptor Structure
|
|
Hi Guys,
I´m analsying the Public Object Descriptor structure, and i have a doubt.
This function has this structure:
(D$ = Dword type definition). The below code is written for asm, btw.
Code: | [VB6PublicObjectDescriptor:
ObjectInfo: D$ 0
Reserved: D$ 0
PublicBytes: D$ 0
StaticBytes: D$ 0
ModulePublic: D$ 0
ModuleStatic: D$ 0
ObjectName: D$ 0
MethodCount: D$ 0
MethodNames: D$ 0
StaticVars: D$ 0
ObjectType: D$ 0
Null: D$ 0
]
|
The MethodName member displays the functions used by a certain module (source code), the problem is that this member displays both public and private functions. The public function displayed are only the ones that have the "Get" and "Let" properties. And the only private function displayed there is the same as the rest of the other used by the app.
When analysing them on VBIde, i found that the functions displayed in this member are the ones displayed on the "General" list of "Delarations", and the only one private function is displayed separatelly.
The question is how VB Ide knows how to put the functions in the general declaration or in other ways ?
The code i´m analysing is a progressbar control.
The values of the members are:
Code: | [VB6PublicObjectDescriptor:
(...)
MethodCount: D$ 03A (58 in decimal)
MethodNames: D$ ProcNamesArray
StaticVars: D$ 0DC (220 in decimal)
ObjectType: D$ 01DA803
Null: D$ 0
]
[ProcNamesArray:
TextAreaHeight
TextAreaHeight
ClickableTiles
ClickableTiles
TextAlign
TextVAlign
Text
PercentFormat
ValueFormat
DoAppEvents
Font
MaxValue
MinValue
Value
Style
BorderStyle
TextBorderStyle
Orientation
BackColor
ForeColor
TextColor
TextBkColor
TextAlign
TextVAlign
Text
PercentFormat
ValueFormat
DoAppEvents
m_Font_FontChanged
Font
BorderStyle
TextBorderStyle
Style
Orientation
BackColor
ForeColor
TextColor
TextBkColor
MaxValue
MinValue
Value
Reset]
|
Also there is a 3rd list (On the general) that is used for the Private function UserControl.
I assume that the ide is separating the private functions accordying to the initilname before the "_", like in m_Font_ and in UserControl_
But why it is choosing the m_font and not UserControl_ if they are both private functinos ?
Another question.. what are the PublicBytes and StaticBytes members ? I know they are offsets to something that seems a dword or even a structure, but what are those ?
If they are a chain of bytes, the bytes are related to what ? And if they are pointers to structures...what structure ? And this structure is variable or not ?
Best Regards,
Guga
|
|
Back to top |
|
|
|
Dr Memory Expert
Joined: 16 Aug 2004 Posts: 147 Location: Surrey, UK
|
Posted: Tue Oct 12, 2004 11:08 pm
Post subject:
|
|
1. Methods and Properties are handled differently in the COM model (different TypeInfo's), so the segregation you refer to is probably tied up with that -
2. The underscore prefix usually denotes a "design-time" interface for a control - whether an external component or the VB intrinsic controls (e.g. _ListBox). At runtime the interface name is identified by fropping the underscore...
3. A UserControl will be like a 3rd-party control, with a design-time interface and a runtime one ...
Hope this helps .... _________________ [size=75:2sg2dqh1]At first, I was irridescent. Then, I became transparent. Finally, I was absent ...
|
|
Back to top |
|
|
|
Dr Memory Expert
Joined: 16 Aug 2004 Posts: 147 Location: Surrey, UK
|
Posted: Tue Oct 12, 2004 11:41 pm
Post subject:
|
|
Did I say "fropping"?
I meant "dropping"
"Fropping", of course is a technical term used in Farnarcling _________________ [size=75:2sg2dqh1]At first, I was irridescent. Then, I became transparent. Finally, I was absent ...
|
|
Back to top |
|
|
|
|
|
|
You can post new topics in this forum You can reply to topics in this forum You can edit your posts in this forum You can delete your posts in this forum You can vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|