![]() |
Telelogic Rhapsody (steve huntington) | ![]() |
Topic Title: Problems with reverse engineering Topic Summary: Created On: 22-Nov-2006 09:59 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
Hello
I got problems with the reverse engineering functionality of Rhapsody. We got some code that is maintained external of Rhapsody. This code will occasionally get updated (the code can't, for other reasons, be imported to Rhapsody). This code is encapsulated in a static library and linked with the application build up in Rhapsody. Interface files (.h), this is class definitions, gets reverse engineered into Rhapsody as external code (i.e. Rhapsody doesn't compile these). The reason for the reverse engineering is to get a interface i.e. application classes can inherit the classes inside the library. All this works perfectly the first time I reverse engineer and build up my application. The problems start when I update the external code i.e. for example change an attributes type or add a new method to a class. I will now update the Rhapsody model to reflect these changes, so I try to reverse engineer using the "model updating = merge into existing" (reverse engineering flag). It seems to run, but when I navigate to the change class in Rhapsody the new methods and attributes aren't imported. If I look at the code (edit code on the class) I can see that the methods and attribute are fine, but not in the Rhapsody model. The reverse engineering process doesn't import the changes!!! Another problem is that doing the reverse engineering update (merging), some of my diagrams randomly removes associations from/to classes that are affected by the update! The association is however not removed from the model, only from the view. I have tried all possible settings to get the Rhapsody to update the reversed engineered external code, but I doesn't seem to be working any how! Any suggestions to this case, is highly appreciated. Best regards, Denker |
|
![]() |
|
![]() |
|
Try reverse engineering it into an empty model first and then adding the changed packages/classes into your working model.
|
|
![]() |
|
![]() |
|
Hi Denker,
The reverse engineering function is so that code can be brought in to Rhapsody for update within the model. Instead, try creating classes/files, in your Rhapsody model, with the same names as your external code and set the CG::Class::UseAsExternal property to true. Rhapsody will then treat the files as external and will always pick up the latest changes to them. Regards, Ian |
|
![]() |
Telelogic Rhapsody
» Rhapsody Category » Rhapsody
»
Problems with reverse engineering
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.