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

ObjectTable
Goto page Previous  1, 2
 
   VB Decompiler Forum Index -> Structures
Author Message
MrUnleaded
Site Admin


Joined: 21 Sep 2002
Posts: 385
Location: California

Posted: Thu Sep 26, 2002 1:16 am     Post subject: ObjectTable

Parents:
Project Info

Object Info

[vb:1nqwklce]
  1. Type ObjectTable
  2.   lNull1           As Long    '0x00 (00d)
  3.   aExecProj        As Long    '0x04 (04d) Memory Pointer to VB Project Exec COM Object
  4.   aProjectInfo2    As Long    '0x08 (08d) Pointer to Project Info 2
  5.   lConst1          As Long    '0x0C (12d)
  6.   lNull2           As Long    '0x10 (16d)
  7.   aProjectObject   As Long    '0x14 (20d) Memory Pointer to Project Data
  8.   uuidObjectTable  As UUID    '0x18 (24d) ObjectTable UUID
  9.   fCompileType     As Integer '0x28 (40d) Internal flag used during compilation
  10.   iObjectsCount    As Integer '0x2A (42d) Number of objects in project
  11.   iCompiledObjects As Integer '0x2C (44d) Number of objects compiled
  12.   iObjectsInUse    As Integer '0x2E (46d) Objects currently initialized
  13.   aObjectsArray    As Long    '0x30 (48d) Pointer to Objects array
  14.   lNull3           As Long    '0x34 (52d)
  15.   lNull4           As Long    '0x38 (56d)
  16.   lNull5           As Long    '0x3C (60d)
  17.   aNTSProjectName  As Long    '0x40 (64d) Pointer to Project Name
  18.   lLcID1           As Long    '0x44 (68d) LocaleID of Project
  19.   lLcID2           As Long    '0x48 (72d) Second LocalID of Project
  20.   lNull6           As Long    '0x4C (76d)
  21.   lTemplateVersion As Long    '0x50 (80d) Version of this structure template
  22.                               '0x54 (84d) <-- Structure size
  23. End Type
[/vb:1nqwklce]

Notes:
* lNull1 links to another Heap during compilation and its nulled when releasing.
* lConst1 is set to -1 by the compiler (maybe some reserved value).
* lNull2 is not used in run-time mode.
* lNull3, lNull4, lNull5 and lNull6 are temporary values only used in the IDE.

Memory Pointers:
-> Project Exec COM Object
-> Project Data

Pointers:

http://vb-decompiler.com/viewtopic.php?p=39:1nqwklce]Object


Last edited by MrUnleaded on Mon Aug 02, 2004 7:19 pm; edited 4 times in total
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Thu Sep 26, 2002 9:29 am     Post subject:

mine is somewhat equal...
only that aName is the aProjectName
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
MrUnleaded
Site Admin


Joined: 21 Sep 2002
Posts: 385
Location: California

Posted: Thu Sep 26, 2002 2:43 pm     Post subject: Yep I agree

[="_aLfa_":2x0dfu1w]mine is somewhat equal...
only that aName is the aProjectName[/:2x0dfu1w]

Yea i agree....i just had something else for some reason.....anyone know why it is in there again?
Back to top
Anonymous
New User


Joined: 10 Feb 2008
Posts: 0

Posted: Fri Sep 27, 2002 1:14 pm     Post subject:

Anyone know why its there what? What do you mean?
Back to top
sarge
Moderator


Joined: 24 Sep 2002
Posts: 194

Posted: Fri Sep 27, 2002 1:24 pm     Post subject: aObject

Is this proper?

aObject As Long ' 0x30

Doesn't the address at this offset point to a table (ModuleTable?) that in turn contains a pointer to the PCODE procedures/events for each object in that module? Thus, calling this address the "object" may not be correct. Or am I wrong?

sarge
Back to top
Anonymous
New User


Joined: 10 Feb 2008
Posts: 0

Posted: Fri Sep 27, 2002 1:28 pm     Post subject:

Im not sure at the moment, because im writing from Uni and I aint got my laptop handy. Nevertheless, the node that you are on about doesnt necessarily go to the ModuleTable. With forms and some other things, there is the general small table, and an additional table to accomodate stuff like graphical object information etc. Im not sure of the names, i'll post it all when im in Uni with my laptop next...
Back to top
sarge
Moderator


Joined: 24 Sep 2002
Posts: 194

Posted: Fri Sep 27, 2002 3:04 pm     Post subject: misname?

Yes, I see the confusion. "Module Table" was not intended to reference a VB module (as opposed to a VB form); rather, it was supposed to mean any object (.bas, .frm, etc) type. Under THAT concept, you are correct in that the pointer under discussion doesn't necessarily point to a module.

So, let me try to re-phrase my question:

The pointer under discussion, at +0x30, points to another structure/table [which will contain either a null (0x00000000) if there are no GUI objects (so there are no events/procedures for them - duh!), or a valid address pointer to the event/procedures for those GUI objects if they DO exist]. So, does that pointer at +0x30 qualify for the name "object"?

Sarge
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Fri Sep 27, 2002 4:23 pm     Post subject:

sarge, this pointer points to an array of objects (u call that Modules)
ill post that objects structure, mayb u can understand better
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Fri Sep 27, 2002 4:44 pm     Post subject: mayb i can do a tree

ProjectInfo
ObjectTable
Object_1
Object_2
Object_x

the Object_1 is the object that is pointed by aObject
the following objects are after
hope u understood...
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
MrUnleaded
Site Admin


Joined: 21 Sep 2002
Posts: 385
Location: California

Posted: Sat Sep 28, 2002 12:49 am     Post subject: why twice?

[="moogman":3mr1l34l]Anyone know why its there what? What do you mean?[/:3mr1l34l]

The aProjectName....why is it in the ObjectTable? the ProjectName is already referenced in the ProjectInfo Struct....

why put it in twice??
Back to top
Anonymous
New User


Joined: 10 Feb 2008
Posts: 0

Posted: Sat Sep 28, 2002 12:45 pm     Post subject: Re: why twice?

[="MrUnleaded":339vuqyn][="moogman":339vuqyn]Anyone know why its there what? What do you mean?[/:339vuqyn]

The aProjectName....why is it in the ObjectTable? the ProjectName is already referenced in the ProjectInfo Struct....

why put it in twice??[/:339vuqyn]

Why put it in at all? Thats just the logic of the creators of our jigsaw
Back to top
MrUnleaded
Site Admin


Joined: 21 Sep 2002
Posts: 385
Location: California

Posted: Wed Dec 04, 2002 3:53 pm     Post subject: Re: misname?

[="sarge":1rp1woq8]Yes, I see the confusion. "Module Table" was not intended to reference a VB module (as opposed to a VB form); rather, it was supposed to mean any object (.bas, .frm, etc) type. Under THAT concept, you are correct in that the pointer under discussion doesn't necessarily point to a module.

So, let me try to re-phrase my question:

The pointer under discussion, at +0x30, points to another structure/table [which will contain either a null (0x00000000) if there are no GUI objects (so there are no events/procedures for them - duh!), or a valid address pointer to the event/procedures for those GUI objects if they DO exist]. So, does that pointer at +0x30 qualify for the name "object"?

Sarge[/:1rp1woq8]

Sarge did you ever understand this?? aObject is an address to the First Object in an array
_________________
-MrU
Back to top
sarge
Moderator


Joined: 24 Sep 2002
Posts: 194

Posted: Wed Dec 04, 2002 6:23 pm     Post subject:

I expect that it is just semantics....as you can probably tell, I've moved past that and am on to bigger and better things. Thanks, though....it's just that I am a stickler for consistancy whenever possible, thus my moral objections to things like the element of a structure being a pointer called "aSomething", but the structure it points to is name "SomethingElse". This was the basis for my request for that graphical structure flow chart you have so graciously provided.

No problems, I just keep on trucking...

Sarge
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Mon Aug 02, 2004 12:26 am     Post subject:

I've changed aObject to aObjects, because I think it's more readable (it points to an array of objects and not just 1 object unless there is none or only 1)

Maybe that was what Sarge meant
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
MrUnleaded
Site Admin


Joined: 21 Sep 2002
Posts: 385
Location: California

Posted: Mon Aug 02, 2004 3:19 pm     Post subject:

Hehe, Makes sense to me
_________________
-MrU
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Mon Aug 02, 2004 7:03 pm     Post subject:

I added the address to Project Info 2 structure, seems like someone forgot this one
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
MrUnleaded
Site Admin


Joined: 21 Sep 2002
Posts: 385
Location: California

Posted: Mon Aug 02, 2004 7:18 pm     Post subject:

And it looks like you forgot to make it sticky
_________________
-MrU
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Mon Aug 02, 2004 7:30 pm     Post subject:

How do I make it sticky?
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
MrUnleaded
Site Admin


Joined: 21 Sep 2002
Posts: 385
Location: California

Posted: Mon Aug 02, 2004 7:33 pm     Post subject:

[="_aLfa_":2rvqgbnx]How do I make it sticky?[/:2rvqgbnx]on the first post of a topic, when you edit it....i think it defaults to "normal" there is a line to change it to Sticky,announcment and global announcement
_________________
-MrU
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Fri Aug 27, 2004 3:27 pm     Post subject:

Fine tuned a bit this structure, but keep checking for more updates today or tomorrow
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
ionescu007
Sometimes here


Joined: 21 Aug 2004
Posts: 33

Posted: Sat Aug 28, 2004 4:12 am     Post subject:

Cough...cough

Don't change "are" to "probably are" . Those values are defintely IDE only, since I've checked them out myself I know, I know, I'm being thickheaded

Best regards,
Alex Ionescu
President, Relsoft Technologies
Kernel Developer, ReactOS
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Sat Aug 28, 2004 10:01 am     Post subject:

Yay, don't bite me
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
markus512
New User


Joined: 18 Jul 2005
Posts: 1

Posted: Mon Jul 18, 2005 9:44 am     Post subject:

Code:

uuidObjectTable As Long ' 0x18 (24d) ObjectTable UUID
fCompileType As Integer ' 0x28 (40d) Internal flag used during compilation


Is uuidObjectTable not realy a long (4byte), or are there some reserved / null fields missing between this two lines?
Back to top
_aLfa_
Site Admin


Joined: 21 Sep 2002
Posts: 233
Location: Aveiro, Portugal

Posted: Thu Jul 21, 2005 11:01 am     Post subject:

uuidObjectTable is not a Long, its an UUID.
Thank you for spoting that small mistake!
_________________
One thing only I know, and that is that I know nothing. (Socrates)
Back to top
   VB Decompiler Forum Index -> Structures All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
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