|
forums.silverfrost.com Welcome to the Silverfrost forums
|
View previous topic :: View next topic |
Author |
Message |
IanLambley
Joined: 17 Dec 2006 Posts: 490 Location: Sunderland
|
Posted: Sat Jun 24, 2023 9:10 am Post subject: Tabbing between controls in 64bit |
|
|
I find that tabbing between controls acts differently in Win32 and X64.
I have a maine page with three property sheets. In the main page there is a %RS and two %`RS controls.
Within the propert sheets there are various %RF controls and a few %`RF controls and a %`RB.
When the program opens, the cursor is positioned at the first control in the first property sheet. After entering data, I "TAB" to the second control etc.
In win32, the cursor jumps to the next control in the property sheet, as expected and desired.
In x64, when "Tab" is pressed, the cursor jumps to the %RS control in the main page and stays there with no change no matter how many times "TAB" is pressed.
Has there been a change in X64? The win32 response is as expected. |
|
Back to top |
|
|
Kenneth_Smith
Joined: 18 May 2012 Posts: 709 Location: Hamilton, Lanarkshire, Scotland.
|
Posted: Sat Jun 24, 2023 1:50 pm Post subject: |
|
|
This short example reproduces the issue described by Ian.
Code: | program ian
use clrwin
implicit none
integer, parameter :: dp = kind(1.d0)
real(dp) :: r(12) = [1,2,3,4,5,6,7,8,9,10,11,12]
integer sheet1, sheet2, sheet3
integer iw
iw = winio@('%mn[Exit]&','exit')
iw = winio@('%sh&',sheet1)
iw = winio@('%ca[Sheet 1]&')
iw = winio@('%rf&',r(1))
iw = winio@('%nl%rf&',r(2))
iw = winio@('%nl%rf&',r(3))
iw = winio@('%nl%rf&',r(4))
iw = winio@('')
iw = winio@('%sh&',sheet2)
iw = winio@('%ca[Sheet 2]&')
iw = winio@('%rf&',r(5))
iw = winio@('%nl%rf&',r(6))
iw = winio@('%nl%rf&',r(7))
iw = winio@('%nl%rf&',r(8))
iw = winio@('')
iw = winio@('%sh&',sheet3)
iw = winio@('%ca[Sheet 3]&')
iw = winio@('%rf&',r(9))
iw = winio@('%nl%rf&',r(10))
iw = winio@('%nl%rf&',r(11))
iw = winio@('%nl%rf&',r(12))
iw = winio@('')
iw = winio@('%ca[Main]&')
iw = winio@('Cannot tab between controls with X64%2nl&')
iw = winio@('%3ps&',sheet1,sheet2,sheet3)
iw = winio@('')
end program ian
|
Last edited by Kenneth_Smith on Sat Jun 24, 2023 2:02 pm; edited 1 time in total |
|
Back to top |
|
|
IanLambley
Joined: 17 Dec 2006 Posts: 490 Location: Sunderland
|
Posted: Sat Jun 24, 2023 1:57 pm Post subject: |
|
|
Kenneth,
Thanks for showing that independently, I thought I was going slightly mad!
Regards
Ian |
|
Back to top |
|
|
IanLambley
Joined: 17 Dec 2006 Posts: 490 Location: Sunderland
|
Posted: Sat Jun 24, 2023 2:08 pm Post subject: |
|
|
And with the addition of the %rs at the top of the form, it really does something strange.
Code: | program ian
use clrwin
implicit none
integer, parameter :: dp = kind(1.d0)
real(dp) :: r(12) = [1,2,3,4,5,6,7,8,9,10,11,12]
integer sheet1, sheet2, sheet3
integer iw
character*20 title
Title = 'This is a %rf'
iw = winio@('%mn[Exit]&','exit')
iw = winio@('%sh&',sheet1)
iw = winio@('%ca[Sheet 1]&')
iw = winio@('%rf&',r(1))
iw = winio@('%nl%rf&',r(2))
iw = winio@('%nl%rf&',r(3))
iw = winio@('%nl%rf&',r(4))
iw = winio@('')
iw = winio@('%sh&',sheet2)
iw = winio@('%ca[Sheet 2]&')
iw = winio@('%rf&',r(5))
iw = winio@('%nl%rf&',r(6))
iw = winio@('%nl%rf&',r(7))
iw = winio@('%nl%rf&',r(8))
iw = winio@('')
iw = winio@('%sh&',sheet3)
iw = winio@('%ca[Sheet 3]&')
iw = winio@('%rf&',r(9))
iw = winio@('%nl%rf&',r(10))
iw = winio@('%nl%rf&',r(11))
iw = winio@('%nl%rf&',r(12))
iw = winio@('')
iw = winio@('%ca[Main]&')
iw = winio@('Title: %rs%ff&',Title)
iw = winio@('Cannot tab between controls with X64%2nl&')
iw = winio@('%3ps&',sheet1,sheet2,sheet3)
iw = winio@('')
end program ian
|
|
|
Back to top |
|
|
Kenneth_Smith
Joined: 18 May 2012 Posts: 709 Location: Hamilton, Lanarkshire, Scotland.
|
Posted: Sat Jun 24, 2023 4:10 pm Post subject: |
|
|
The difference between Win32 and X64 is also apparent when the individual sheets are displayed in a MDI window.
Code: | program ian2
use clrwin
implicit none
integer, parameter :: dp = kind(1.d0)
real(dp) :: r(12) = [1,2,3,4,5,6,7,8,9,10,11,12]
integer sheet1, sheet2, sheet3, main2
integer iw
iw = winio@('%mn[Exit]&','exit')
iw = winio@('%ww&')
iw = winio@('%ca[Main]&')
iw = winio@('%ff%pv%fr&',800,600)
iw = winio@('%lw&',main2)
iw = winio@('%sc&','tile_vertically')
iw = winio@('')
iw = winio@('%aw&',main2)
iw = winio@('%ca[Sheet 1]&')
iw = winio@('%rf&',r(1))
iw = winio@('%nl%rf&',r(2))
iw = winio@('%nl%rf&',r(3))
iw = winio@('%nl%rf&',r(4))
iw = winio@('%lw',sheet1)
iw = winio@('%aw&',main2)
iw = winio@('%ca[Sheet 2]&')
iw = winio@('%rf&',r(5))
iw = winio@('%nl%rf&',r(6))
iw = winio@('%nl%rf&',r(7))
iw = winio@('%nl%rf&',r(8))
iw = winio@('%lw',sheet2)
iw = winio@('%aw&',main2)
iw = winio@('%ca[Sheet 3]&')
iw = winio@('%rf&',r(9))
iw = winio@('%nl%rf&',r(10))
iw = winio@('%nl%rf&',r(11))
iw = winio@('%nl%rf&',r(12))
iw = winio@('%lw',sheet3)
end program ian2 |
|
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8012 Location: Salford, UK
|
Posted: Sat Jun 24, 2023 5:48 pm Post subject: |
|
|
Thank you for the feedback. I have made a note of this failure. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8012 Location: Salford, UK
|
Posted: Mon Jun 26, 2023 8:18 am Post subject: |
|
|
These issues have now been fixed for the next release of the DLLs. |
|
Back to top |
|
|
IanLambley
Joined: 17 Dec 2006 Posts: 490 Location: Sunderland
|
Posted: Tue Jun 27, 2023 8:48 pm Post subject: |
|
|
When can I get a copy of these dlls? |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8012 Location: Salford, UK
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|