Book a Demo

Author Topic: Why does EA architect always ask for reassignment of function in C++ code sync?  (Read 3519 times)

mse

  • EA User
  • **
  • Posts: 308
  • Karma: +1/-0
    • View Profile
Every once and a while, I will make a small Change in the code, or perhaps in the model itself. Most of the time it's a Change in the model. However, sometimes I get a Dialog that asks me to choose some Options like reassigning a function to another one in the model, or deleting it or just ignoring it. Even after I have remapped it, I still get the Dialog box. If I remember correctly, the onnly way to get back in sync again is to do a reverse sync and then go back to syncing again.

Secondly, why are duplicate functions added to my code every time I do a sync? This is related to the question above in some way because every time I generate code with F11, a duplicate function with the same signature is inserted. and then I have to correct it in a similiar Fashion and delete the duplicate functions in my model.

Somehow I'm not understanding the whole sync process and what is going on. Are there Settings that can help me? My typical workflow is the following. If I Need to add something new, I will do it in the model. However, in the code, it's often faster for example to copy my enumeration values from my specification document and into the enum. EA Architect is tedious when it comes to data entry. Consequently, I have this hybrid Fashion of working depending on what Information I want to place in my model.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Do you have any modified code templates?

I'm guessing that the method signature in the model is different from what EA picks up in code.

A wild guess would be that you've modeled parameters with inout or out.

bknoth2

  • EA User
  • **
  • Posts: 129
  • Karma: +2/-0
    • View Profile
My workflow when I'm not quite sure about sync status or trying to resolve synchronization issues is:

1) Confirm the source is committed to a version control system so it can be recovered easily
2) Generate the code directly from EA
3) Diff the generated code with what is in the code repository to see what the differences are.
4) If EA did not generate the code as expected, revert the code from the repository so it gets back to the state it was in step 1)
5) Synchronize the class in EA with the reverted source files.
6) Generate the code again from EA
7) Diff the code again. Now I don't expect to see any significant differences from the original code.

This process lets me see if there is significant new content in EA (step 3) and also identify and fix any errors in the model (steps 3 and 7).