VB Decompiler Forum Index VB Decompiler
Hosted by TheAutomaters.com
 
  MemberlistMemberlist
 

Question about Public Object Descriptor Structure

 
   VB Decompiler Forum Index -> Visual Basic
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
   VB Decompiler Forum Index -> Visual Basic All times are GMT
Page 1 of 1

 
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