Invisible MFC ComboBox drop-arrow in x64 builds but not x86?
Posted: Wed Jun 14, 2017 1:45 pm
I've been happily using Ranorex v6.2.1 against the VS2015.SP3 compiled Win32 build of our application on Windows 10 Pro. (I have NOT upgraded to Ranorex v7.0.0x. I do realise v7.0.0x is the latest version but I've been striving to finish our tests before upgrading. I want to know everything works on a particular version first).
I've just started looking at making sure our Ranorex tests also work against an identical Win64 build and have promptly hit a curious issue that I'm not sure how to deal with.
The drop-arrow on a ComboBox control is invisible in an x64 build and cannot be found by Ranorex Studio. As soon as I start the Win32 build it works fine, Ranorex Studio can find the drop arrow and click it. I do have the Enable 32/64 Bit Bridge option ENabled.
I made a demo application to check it wasn't something odd about our application. I was able to reproduce it in a super-basic MFC dialog application onto which I dropped a ComboBox control.
If I use 32bit Ranorex Spy on 32bit build -> drop arrow button visible and accessible.
32bit Ranorex Spy on 64bit build -> drop arrow button INvisible and INaccessible.
64bit Ranorex Spy on 32bit build -> drop arrow button visible and accessible.
64bit Ranorex Spy on 64bit build -> drop arrow button visible and accessible.
So there is this one case where I can't control my button. Does anybody have any ideas what I'm doing wrong here?
I have attached a snapshot taken with 32bit Spy of the 64bit application build. I'll try to attach some more files in a follow-up post because of the attachment limit.
I've just started looking at making sure our Ranorex tests also work against an identical Win64 build and have promptly hit a curious issue that I'm not sure how to deal with.
The drop-arrow on a ComboBox control is invisible in an x64 build and cannot be found by Ranorex Studio. As soon as I start the Win32 build it works fine, Ranorex Studio can find the drop arrow and click it. I do have the Enable 32/64 Bit Bridge option ENabled.
I made a demo application to check it wasn't something odd about our application. I was able to reproduce it in a super-basic MFC dialog application onto which I dropped a ComboBox control.
If I use 32bit Ranorex Spy on 32bit build -> drop arrow button visible and accessible.
32bit Ranorex Spy on 64bit build -> drop arrow button INvisible and INaccessible.
64bit Ranorex Spy on 32bit build -> drop arrow button visible and accessible.
64bit Ranorex Spy on 64bit build -> drop arrow button visible and accessible.
So there is this one case where I can't control my button. Does anybody have any ideas what I'm doing wrong here?
I have attached a snapshot taken with 32bit Spy of the 64bit application build. I'll try to attach some more files in a follow-up post because of the attachment limit.