| 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]
 [/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 sizeEnd Type
 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 |  | 
	
		|  |  | 
	
		|  |  |