Update of /cvsroot/opengtoolkit/opengoop_inheritance/docs
In directory sc8-pr-cvs1:/tmp/cvs-serv14061/docs
Added Files:
Wizard_Tasks.txt
Log Message:
1st commit
--- NEW FILE: Wizard_Tasks.txt ---
-= Creating a Base Class =-
* Rename temp "OpenGObj" as "Parent"
* Load newly named "Parent" into memory
* Rename "Class" as "UsersBaseClassName"
* Rename newly named "Parent" back to "OpenGObj"
* Save "UsersBaseClassName"
* Unload "UsersBaseClassName" and temp "OpenGObj" from Memory
* Delete temp "OpenGObj"
* Load "UsersBaseClassName", relinking to real "OpenGObj" in user.lib
* Save "UsersBaseClassName"
-= Post Rename Tasks =-
Update VI RefNum Types:
1. Fix "Destroy" VI RefNum Type
2. Fix "Polymorphic Method" Template
3. Fix Data Core Set "MyBaseClass Object Data Store VI Ref Type.vi" as "MyBaseClass Object Data Store.vi". (Fix Data Core last since 1 & 2 Affect 3)
-= Construct New Inheritance RefNum =-
The Inheritance Class Template has an cluster TypeDef containing the class GOOP RefNum and a Variant TypeDef.
./Data Structures/
---------------------
OpenGObj Inheritance RefNum.ctl (Parents Inheritance RefNum)
OpenGObj Subclass RefNum Variant.ctl (Parents Variant TypeDef)
Class Inheritance RefNum Innermost Cluster.ctl (Innermost Cluster)
Preconditions:
* The BaseClass and NewClass must not be in memory.
Execution Sequence:
* The NewClass Innermost cluster TypeDef is loaded into memory and renamed as the BaseClass's variant typedef.
* The BaseClass's Inheritance RefNum is loaded into memory and thus relinked to the NewClass cluster typedef.
* The BaseClass's Inheritance RefNum us saved as the NewClasses Inheritance RefNum.
* Load The parent Inheritance RefNum into memory. Save the Variant to
Copy Parent Inheritance RefNum
Parent Goop Refnum
Parent Subclass RefNum Variant
Parent Inheritance RefNum
-= Creating a New Class =-
* Copy "BaseClass" (or necessary components) to temp location and rename copy as "Parent"
* Load newly named "Parent" into memory
* Load "Class" into Memory
* Rename "Class" as "UsersSubClassName"
* Rename newly named "Parent" back to "BaseClass"
* Save "UsersSubClassName"
* Unload "UsersSubClassName" and temp "BaseClass" from Memory
* Delete temp "BaseClass"
* Load "UsersSubClassName", relinking to real "BaseClass" in project folder (user specifies this in step 1)
* Save "UsersSubClassName"
Relink ***ONLY*** Necessary Components:
Parent New.vi
Parent Delete.vi
Parent Get Data for Child to Modify.vi
Parent Set Modified Data from Child.vi
Parent Get Data for Child.vi
Parent Public Data.ctl
Parent Protected Data.ctl
|