Forum Discussion

sridhar_t's avatar
sridhar_t
Occasional Contributor
11 years ago

VCL object recognized as Window

Hi,



I have been working on Test complete 10.2 version for Delphi product, it was recognizing the objects as VCL objects and I had no problem. For some reasons I had to uninstall my Delphi application and reinstall again with no updates to the version of my application. Now the test complete scripts are failing because the objects which were of VCL now are identified as Window.





Can any when help if there are any settings which I need to take care in test complete. 





Thanks in advance  
  • Hi Sridhar,



    AFAIR, debug information (either standalone or integrated with executable) must be provided in order TestComplete can access Delphi application's internals.

    Are you sure that debug information for your tested application is present and accessible for TestComplete?



    P.S. Also check that VCL and Delphi Support extensions (two of them) are enabled in TestComplete (File|Install Extensions).
  • AlexKaras's avatar
    AlexKaras
    Champion Level 3
    Hi Sridhar,



    AFAIR, debug information (either standalone or integrated with executable) must be provided in order TestComplete can access Delphi application's internals.

    Are you sure that debug information for your tested application is present and accessible for TestComplete?



    P.S. Also check that VCL and Delphi Support extensions (two of them) are enabled in TestComplete (File|Install Extensions).
  • sridhar_t's avatar
    sridhar_t
    Occasional Contributor
    Hi Alexei karas,



    Debug information of my tested application is present and accessible for Test Complete. I removed the command line parameters value entered for the tested apps and again provided the same value it is working now. No idea if this is the solution but now the Test complete is able to identify the object as VCL instead of Window.



    Regards

    Sridhar





  • AlexKaras's avatar
    AlexKaras
    Champion Level 3
    This is odd..., but good to know that the problem is solved.

  • Hi!



    I think i have pretty much the same problem, but sadly your "solution" isn't working with me.



    I'm running with TestComplete 9 and then starts my script in remote desktop with Test Execute 9. My problem is that I need a VCL Object for my whole script, but TestExecute often recognize my window as a Window and not as a VCL Object. 



    VCL and Delphi's entensions are here and debug information of my tested App is present and available for TestComplete.



    Thanks in Advance,

    Renaud.


    • josh_owen's avatar
      josh_owen
      Occasional Contributor

      We are having this same problem.

       

      While trying to test our latest Release Candidate we discovered that TestComplete is recognizing objects in our app differently from it has in the past.  Specifically VCL Objects were being recognized as Windows.  We were able to trace this issue down to build 579/580. 579 doesn’t have any issues with TestComplete but 580 does.  Below is a list of exercises we have tried to fix this issue:

       

      1. Examined the content of Build 580 for issues that could have caused this (found none)
      2. Cleared the build Workspace and rebuilt the application (no difference)
      3. Restarted the testing server that the test is running on. (no difference)
      4. Development pulled up the build box and attempted to pinpoint issues (found none)
      5. After finding someone who has the exact issue we are having (per this link http://community.smartbear.com/t5/Getting-Started-with/VCL-object-recognized-as-Window/td-p/90707) we eliminated that Command-Line Parameters were not causing the issue
      6. After noticing that TestComplete output while object-spying the sign on form was different, we began using our app’s object identifier to determine difference

             -NOTE: Working Build’s output: http://i.imgur.com/y7oLrws.png

             -NOTE: Broken build’s output: http://i.imgur.com/zXRBn0W.png

             -We noticed that when we opened up an older build where the issue didn’t exist, we could use the object identifier (in the app) to Disable then Enable the main form.  After than we would run a new build (where the issue persisted) and logged onto that application.  At this point we would have two instances of the application open.  If we object-spyed the old one, then spyed the new one, the issue would resolve itself and TestComplete would recognize the new form as if it were the old form.  While this trick was handy, once the application was closed and reopened, this issue would return.