Forum Discussion

AndrewCast's avatar
AndrewCast
Contributor
6 years ago

Converting NameMapping to "new" application

We're currently working on migrating from 32 to 64, and I'm trying to set up TC for the 64 bit version. The mapping for everything seems to have been only for the 32 bit application though, and 64 is creating "mappeditem2" for almost everything. 

 

Is there an easy way to remap everything to match the 32 bit so code changes won't be necessary? I'd like to maintain support for both 64 and 32 but I know this isn't a perfect world, so any help would be appreciated. Can I force a merge somehow?

  • Some suggestions to go along with what cunderw  mentions:

     

    1) Look into using wildcards if possible to mask out portions of the properties so that they can be identified in both 32 and 64 bit.

    2) Alternatively, look into "conditional mapping" where you can use IF/AND/OR logic in the property selections.

     

     

  • cunderw's avatar
    cunderw
    Community Hero

    What does the mapping properties look like for your objects? I'm guessing there is a property in there that changes between the two versions that could be adjusted to work with both. 

    • tristaanogre's avatar
      tristaanogre
      Esteemed Contributor

      Some suggestions to go along with what cunderw  mentions:

       

      1) Look into using wildcards if possible to mask out portions of the properties so that they can be identified in both 32 and 64 bit.

      2) Alternatively, look into "conditional mapping" where you can use IF/AND/OR logic in the property selections.

       

       

      • AndrewCast's avatar
        AndrewCast
        Contributor

        Wildcards: Looks like code changes, which might be the more reasonable route for future maintenence, but the differences in WndClass are too broad and might pick up too much

         

        Conditional Mapping: This might work, is there a way to do this in bulk, or will I have to go through them one by one? I can go through the (I believe it was-) JSON file and simply place a conditional everytime I see a match 

         

        Thank you for letting me know about these!

    • AndrewCast's avatar
      AndrewCast
      Contributor

      The difference is that the WndClass changed from

       

      Afx:00400000:800*

      to 

      Afx:0000000140000000:b*

      but there might be more. Is there a way to TC to pick up all such WndClass to merge with the old ones?

      • tristaanogre's avatar
        tristaanogre
        Esteemed Contributor

        Based upon the WndClass change... yeah, I think Conditional Mapping may be your best bet.

        Unfortunately, the only SANCTIONED way for doing so is via the IDE of TestComplete.  You COULD try and do it in the NameMapping.tcNM file itself... but that's a rather complex file and I would not recommend it.