I may be misunderstanding the dynamics of this but does this example display the expected behavior?
If the user changes the value of the input variable on the first sheet should the corresponding read only variable of the second sheet update without a call to window_update@()?
module example_mod
use clrwin
implicit none
integer, parameter :: dp = kind(1.d0)
real(kind=dp) :: volts_kv = 11.0
integer h1, h2
contains
integer function gui()
integer :: iw
iw = winio@('%sh&',h1)
iw = winio@('%ca[Input data]&')
iw = winio@('%nl Rated voltage [kV]%ta%`bg[white]%8rf&', volts_kv)
iw = winio@(' ')
iw = winio@('%sh&',h2)
iw = winio@('%ca[Output data]&')
iw = winio@('%nl Rated voltage [kV]%ta%`bg[white]%8`rf&', volts_kv)
iw = winio@(' ')
iw = winio@('%mn[Exit]&','Exit')
iw = winio@('%2.1ob&')
iw = winio@('%nl%2ps[hot_track]&',h1,h2)
iw = winio@('%cb&')
iw = winio@('Question&')
iw = winio@('%2nlIf the user changes the value of the input variable on the first sheet&')
iw = winio@('%nlshould the corresponding read only variable of the second sheet update&')
iw = winio@('%nlwithout a call to window_update@() ? &')
iw = winio@('%cb')
gui = 1
end function gui
end module example_mod
program main
use example_mod
implicit none
integer i
i = gui()
end program main