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]- Type ObjectTable
- lNull1 As Long '0x00 (00d)
- aExecProj As Long '0x04 (04d) Memory Pointer to VB Project Exec COM Object
- aProjectInfo2 As Long '0x08 (08d) Pointer to Project Info 2
- lConst1 As Long '0x0C (12d)
- lNull2 As Long '0x10 (16d)
- aProjectObject As Long '0x14 (20d) Memory Pointer to Project Data
- uuidObjectTable As UUID '0x18 (24d) ObjectTable UUID
- fCompileType As Integer '0x28 (40d) Internal flag used during compilation
- iObjectsCount As Integer '0x2A (42d) Number of objects in project
- iCompiledObjects As Integer '0x2C (44d) Number of objects compiled
- iObjectsInUse As Integer '0x2E (46d) Objects currently initialized
- aObjectsArray As Long '0x30 (48d) Pointer to Objects array
- lNull3 As Long '0x34 (52d)
- lNull4 As Long '0x38 (56d)
- lNull5 As Long '0x3C (60d)
- aNTSProjectName As Long '0x40 (64d) Pointer to Project Name
- lLcID1 As Long '0x44 (68d) LocaleID of Project
- lLcID2 As Long '0x48 (72d) Second LocalID of Project
- lNull6 As Long '0x4C (76d)
- lTemplateVersion As Long '0x50 (80d) Version of this structure template
- '0x54 (84d) <-- Structure size
- 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 |
|
|
|
|
|