I found that x32 Ranorex library not able to get some information from x64 programs. For example it did not recognize XTPReport (Codejock control, supports MSAA) as Ranorex.Table. The workaround is to use Ranorex Spy x64 and Ranorex libraries x64.
But even after i changed project target platform to Any or x64, element browser does not recognize it (same to Ranorex Spy x32).
At any case, will i need to make two builds of tests for x32 and x64 systems?
Also Ranorex is very great, thanks a lot.
Problems with access to x64 MSAA controls
-
- Posts: 5
- Joined: Thu Jul 01, 2010 4:47 pm
Problems with access to x64 MSAA controls
Last edited by anton.purin on Fri Jul 02, 2010 10:50 am, edited 1 time in total.
- Support Team
- Site Admin
- Posts: 12145
- Joined: Fri Jul 07, 2006 4:30 pm
- Location: Houston, Texas, USA
- Contact:
Re: Element browser does not use x64 libraries
As Ranorex Studio runs as a 32 bit process and the element browser is a part of it, the element browser will always use the 32 bit DLLs. However, since Ranorex 2.3 32 and 64 bit applications can be automated transparently, not matter if the automating process is 32 or 64 bit.
Please, see following section in the Ranorex User Guide for more info:
http://www.ranorex.com/support/user-gui ... forms.html
Regards,
Alex
Ranorex Team
Please, see following section in the Ranorex User Guide for more info:
http://www.ranorex.com/support/user-gui ... forms.html
Regards,
Alex
Ranorex Team
-
- Posts: 5
- Joined: Thu Jul 01, 2010 4:47 pm
Re: Element browser does not use x64 libraries
Thank you, I have read this topic before.
I found that even x64 compiled project does not recognize that control. The only way is to create project in VS and add libraries from ranorex\bin\x64\ folder.
Steps to reproduce
1. Download Report Dialog Sample x64 from http://www.codejock.com/downloads/sampl ... ontrol.asp
2. Run Report Dialog Sample x64 and Ranorex x64 Spy. Look at Report Dialog Sample controls in Spy.
3. Check that XTPReport interpretable as Ranorex.Table (rows and cells accessible), add this XTPReport to repository
4. Create Project in Ranorex studio, set target platform to x64, add repository from step 3
5. Try to access to some table properties of XTPReport from compiled project
Expected
Properties still accessible, because project have to use x64 Ranorex library
Current
Project could not find XTPReport, it can only be found by ID and as Element, so Table properties is unaccessible
I found that even x64 compiled project does not recognize that control. The only way is to create project in VS and add libraries from ranorex\bin\x64\ folder.
Steps to reproduce
1. Download Report Dialog Sample x64 from http://www.codejock.com/downloads/sampl ... ontrol.asp
2. Run Report Dialog Sample x64 and Ranorex x64 Spy. Look at Report Dialog Sample controls in Spy.
3. Check that XTPReport interpretable as Ranorex.Table (rows and cells accessible), add this XTPReport to repository
4. Create Project in Ranorex studio, set target platform to x64, add repository from step 3
5. Try to access to some table properties of XTPReport from compiled project
Expected
Properties still accessible, because project have to use x64 Ranorex library
Current
Project could not find XTPReport, it can only be found by ID and as Element, so Table properties is unaccessible
- Support Team
- Site Admin
- Posts: 12145
- Joined: Fri Jul 07, 2006 4:30 pm
- Location: Houston, Texas, USA
- Contact:
Re: Problems with access to x64 MSAA controls
Hi,
It seems that the Microsoft Active Accessibility of your Unit Under Test is broken when started as a 64 bit process. Usually, MSAA does not have problems when crossing 32/64 bit boundaries; we have not seen this behavior before and checked that again with other .NET application.
Could you please ask developers if they have implemented MSAA in a custom way? Because the default .NET MSAA implementation should work...
Regards,
Peter
Ranorex Support Team
It seems that the Microsoft Active Accessibility of your Unit Under Test is broken when started as a 64 bit process. Usually, MSAA does not have problems when crossing 32/64 bit boundaries; we have not seen this behavior before and checked that again with other .NET application.
Could you please ask developers if they have implemented MSAA in a custom way? Because the default .NET MSAA implementation should work...
Regards,
Peter
Ranorex Support Team
-
- Posts: 5
- Joined: Thu Jul 01, 2010 4:47 pm
Re: Problems with access to x64 MSAA controls
We use Codejock standard XTPReport control, same to Samples from link in my last post.
The weird is that Ranorex Spy could recognize XTPReport as table role, but library could not.
The weird is that Ranorex Spy could recognize XTPReport as table role, but library could not.
- Support Team
- Site Admin
- Posts: 12145
- Joined: Fri Jul 07, 2006 4:30 pm
- Location: Houston, Texas, USA
- Contact:
Re: Problems with access to x64 MSAA controls
We investigated a little more on that issue:
There seems to be a problem with the 64 bit version of those CodeJock controls when trying to access MSAA elements from a 32 bit process, but only on Window 7 x64. Everything works perfectly on Windows XP...
The result of this anomily is that you see table elements when you use "Ranorex Spy" (64 bit) on the 64 bit control, but not when you use "Ranorex Spy x86" (32 bit).
However, when you use 64 bit Ranorex Spy to get RanoreXPaths and then use those paths in a 64 bit Ranorex executable (as you explained in your previous post), everything works perfectly - I just tried that. Please, make sure that you correctly set the "Target CPU" in the "Compiling" settings of the project to "AMD 64-bit processor" or "Any processor". Please, see the corresponding section in the Ranorex User Guide for a detailed description:
http://www.ranorex.com/support/user-gui ... forms.html
Regards,
Alex
Ranorex Team
There seems to be a problem with the 64 bit version of those CodeJock controls when trying to access MSAA elements from a 32 bit process, but only on Window 7 x64. Everything works perfectly on Windows XP...
The result of this anomily is that you see table elements when you use "Ranorex Spy" (64 bit) on the 64 bit control, but not when you use "Ranorex Spy x86" (32 bit).
However, when you use 64 bit Ranorex Spy to get RanoreXPaths and then use those paths in a 64 bit Ranorex executable (as you explained in your previous post), everything works perfectly - I just tried that. Please, make sure that you correctly set the "Target CPU" in the "Compiling" settings of the project to "AMD 64-bit processor" or "Any processor". Please, see the corresponding section in the Ranorex User Guide for a detailed description:
http://www.ranorex.com/support/user-gui ... forms.html
Regards,
Alex
Ranorex Team