Hi Jeff, thanks for the offer to help out here. If you're willing to engage in a remote debugging session then contact me privately and we can set something up. I'm at GMT-7 daylight time.
There are several stages in the subtype connection (and other similar actions originating from the toolbox (role connector, model note connector, constraint connector), which are likely also broken). It sounds like you're getting the initial cursor, but are not able to establish the source shape.
NORMA setup actually installs a debug build and the debug (pdb) files, so you can debug without building by pulling the source down from sourceforge and locating the pdbs. IMPORTANT: If you pull down the NORMA code, do not build or run the projects if you have a NORMA setup installation on your machine. F5 is not your friend: you'll end up hand repairing the GAC (Global Assembly Cache) to get the tool running again.
If you're not familiar with SVN, you can find instructions at http://sourceforge.net/scm/?type=svn&group_id=158881. I use TortoiseSVN (http://tortoisesvn.tigris.org).
Once you have the code locally, run the click scenario for creating subtypes (the subtype connector supports both the click-on-subtype/click-on-supertype and the drag-subtype/drop-on-supertype gestures). Debugging these scenarios is tricky because activating the debugger messes with the toolbox state, so it is generally done with trace statements. This seems like a long
-
Start two instances of Visual Studio.
-
Open a .orm file in one instance.
-
Attach to an .orm file in the other instance:
-
In the other VS instance, choose 'Tools/Attach to Process'
-
Find devenv.exe in the 'Available Processes' list
-
Make sure that 'Attach To' is set Managed code (use the Select button if it isn't)
-
Attach the process
-
Make sure the symbol file is loaded (this should only be necessary the first time you debug, VS should remember the symbol location):
-
Open the 'Modules' window (Debug/Windows/Modules)
-
Sort by the name column
-
Select 'ORMSolutions.ORMArchitect.Core.VS2008.dll'
-
If a symbol file is loaded you're fine. Otherwise,
-
Right click on the row and choose 'Load Symbols'
-
Open the symbol file in C:\Program Files\ORM Solutions\ORM Architect for Visual Studio 2008\bin\ORMSolutions.ORMArchitect.Core.VS2008.pdb
-
From the 'trunk' directory of your NORMA sources, open ORMModel\ShapeModel\SubtypeConnectorAction.cs
-
Add breakpoints in the the OnClicked method (starting at line 184)
-
Click in the margin to put a breakpoint on the first code line (base.OnClicked(e))
-
Right click the breakpoint and choose 'When hit'
-
Select the 'Print a message' checkbox and place 'sourceShapeElement (before): {this.sourceShapeElement}' in the message file
-
Put a breakpoint on the next line and set the message as 'sourceShapeElement (after): {this.sourceShapeElement}'
-
Open the Output window (View/Output), select the Debug output with the dropdown, and clear the window
-
Arrange your two VS instances so you can see the output window when the .orm file is active.
-
Select the Subtype Connector toolbox item and click on an entity type
You should see output along these lines:
sourceShapeElement (before): null
sourceShapeElement (after): "EntityType <ObjectTypeShape>: EntityType"
The behavior you're describing sounds like you might be getting a null on the second line, but that is a wild guess at this point.
Again, I appreciate the help. I don't ask for a remote debug very often, but I think you're the 3rd person I'm aware of who has had this issue and it is pretty debilitating, so I need to get to the bottom of it.
-Matt