|
forums.silverfrost.com Welcome to the Silverfrost forums
|
View previous topic :: View next topic |
Author |
Message |
Ralf
Joined: 30 Aug 2007 Posts: 50 Location: munich
|
Posted: Tue Oct 23, 2018 8:28 am Post subject: DISPLAY_POPUP_MENU@ |
|
|
I have a Problem using a dynamic popup menu in combination with a child window:
Here is a simple testprogram:
Code: |
module mod_test
integer(kind=7) :: ihpopup
integer :: iw, winio@
integer :: icnt = 0
character(len=10) :: menu_item
end module mod_test
winapp
!=======================================================================
program testmain
!=======================================================================
use mod_test
external cb_show, add_item
integer :: ihandle_childwindow
! child window
iwin = winio@ ('%ww[naked]&')
iwin = winio@ ('%^bt[Show Item]&', cb_show)
iwin = winio@ ('%pm[*]&',ihpopup)
iwin = winio@ ('%sc&',add_item)
iwin = winio@ ('%`lw', ihandle_childwindow)
! main window
iwin = winio@ ('%sy[3d_thin]&')
iwin = winio@ ('%ch&',ihandle_childwindow)
iwin = winio@ ('%dy&',-0.6d0)
iwin = winio@ (' %^10bt[Add Item] %10bt[Close]',add_item)
stop
end
!======================================================================
subroutine run
!======================================================================
use mod_test
iw = winio@ ('%ca@&',menu_item)
iw = winio@ ('%cn%bt[Close]')
return
end subroutine
!======================================================================
integer function cb_show()
!======================================================================
C_EXTERNAL DISPLAY_POPUP_MENU@ '__display_popup_menu'
cb_show = 2
call DISPLAY_POPUP_MENU@
end function
!======================================================================
integer function add_item()
!======================================================================
use mod_test
C_EXTERNAL ADD_MENU_ITEM@ '__add_menu_item' (VAL,INSTRING,REF, &
&REF,REF)
character(LEN=10) :: string
external run_item
add_item = 2
icnt = icnt + 1
write(string,'(a,i2)') 'Item ',icnt
call add_menu_item@(ihpopup,string,1,0,run_item)
end function
!=======================================================================
integer function run_item()
!=======================================================================
use mod_test
character(len=10) :: clearwin_string@
run_item = 2
menu_item = clearwin_string@('CURRENT_MENU_ITEM')
call run
end function
|
This program runs fine when compiled as 32bit.
Compiled as 64bit the program does not respond any longer if the button "Show Item" is pressed, which calls DISPLAY_POPUP_MENU@ to show the dynamic popup menu. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Tue Oct 23, 2018 3:37 pm Post subject: |
|
|
Ralf
Your program works OK for me for 64 bits. I presume that the issue has already been fixed in some other context. Are you using the latest intermediate release of clearwin64.dll? |
|
Back to top |
|
|
Ralf
Joined: 30 Aug 2007 Posts: 50 Location: munich
|
Posted: Tue Oct 23, 2018 3:50 pm Post subject: |
|
|
Paul,
I am using the 8.3 release with the beta testing dlls from Jun30 and the clearwin64.dll with the %lv bugfix from Aug 06
Ralf |
|
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
|