forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

drop down combos crashing in Windows 8.1
Goto page 1, 2  Next
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> ClearWin+
View previous topic :: View next topic  
Author Message
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Tue Feb 18, 2014 1:16 pm    Post subject: drop down combos crashing in Windows 8.1 Reply with quote

Since moving our application over to Windows 8(8.0 or latest updates for 8.1) one of our particularly large dialog screens containing many CWP controls, itself works fine.

BUT, when attempting to build the next - very small - dialog, our app crashes. And consistently so.

Running on all Windows o/s up until W8 has caused no problem.

Does anyone have any ideas ?

Thanks
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Tue Feb 18, 2014 2:08 pm    Post subject: Reply with quote

I would need to be able to reproduce the crash on my own machine.
Back to top
View user's profile Send private message AIM Address
DanRRight



Joined: 10 Mar 2008
Posts: 2813
Location: South Pole, Antarctica

PostPosted: Wed Feb 19, 2014 7:18 am    Post subject: Reply with quote

Is it the property sheet where it crashes? Does the code crash when debugged or just called via SDBG?
Back to top
View user's profile Send private message
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Wed Feb 19, 2014 3:23 pm    Post subject: Reply with quote

Our dialog is very complex, with many consecutive %ob[no_border] and many callbacks to grey/ungrey dialog items, but no property sheets : we have kept away from these !

I am still whittling the code down, but the next dialog still crashes when being built after having previously clicked on a drop-down list item.
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Wed Feb 19, 2014 5:41 pm    Post subject: Reply with quote

Is there a trace back of any kind?
Back to top
View user's profile Send private message AIM Address
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Wed Feb 19, 2014 5:50 pm    Post subject: Reply with quote

Sorry, Paul, immediately "< app name > has stopped working".

As best as I can determine, callbacks on the clicking of the %ls list item alter the greying of the other data items on the dialog.

[ The grey variables are INT*4 and in COMMON and the callback function closes setting itself to 1 ]
Back to top
View user's profile Send private message
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Wed Feb 19, 2014 6:15 pm    Post subject: Reply with quote

I believe the problem is indeed the fact that callbacks are being used on the %ls list items. I have not been able to crash W8.1 yet, whereas with the callbacks a crash was immediate.

I shall attempt to get a test example.
Back to top
View user's profile Send private message
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Thu Feb 20, 2014 11:20 am    Post subject: Reply with quote

FTN95 code follows. If the WINIO@ statements within the Options box are seperated or if the %dy control not used then this test case may be seen to work okay.

Code:
C
      IMPLICIT REAL*8 (A-H, O-Z)
      IMPLICIT INTEGER*2 (J)
C
      INCLUDE <WINDOWS.INS>
C
      EXTERNAL ISCRN1, ISCRN2
C
      COMMON / VALUES / IVAL, INDLEV, INDGR1, INDGR2
C
      IVAL = 10     
      INDLEV = 1
      INDGR1 = 1
      I = MNFUNC()
C
      I = WINIO@('Step 1 : select Screen 1&')
      I = WINIO@('%ffStep 2 : click into several drop down lists&')
      I = WINIO@('%ffStep 3 : return here and select Screen 2&')
      I = WINIO@('%ff %ffIn Windows 8 the test will crash&')
      I = WINIO@('%ff %ff&')
      I = WINIO@('Screen : %3^bt[1]&', ISCRN1)
      I = WINIO@('%ff %ff&')
      I = WINIO@('Screen : %3^bt[2]', ISCRN2)
C
      STOP
      END

      INTEGER FUNCTION ISCRN1()   
C
      IMPLICIT REAL*8 (A-H, O-Z)
      IMPLICIT INTEGER*2 (J)
C
      EXTERNAL MNFUNC
C
      INCLUDE <WINDOWS.INS>
C
      CHARACTER CHLIST1(4)*10, CHLIST2(4)*10, CHLIST3(4)*10,
     *          CHLIST4(4)*10, CHLIST5(4)*10, CHLIST6(4)*10
C
      COMMON / VALUES / IVAL, INDLEV, INDGR1, INDGR2
C
      DATA NOSLIST1,ILIST1 / 4, 1 /
      DATA CHLIST1 / 'Off', 'Apples', 'Oranges', 'All' /
C
      DATA NOSLIST2,ILIST2 / 4, 1 /
      DATA CHLIST2 / 'Off', 'VW', 'Ford', 'All' /
C
      DATA NOSLIST3,ILIST3 / 4, 1 /
      DATA CHLIST3 / 'Off', 'AA', 'RAC', 'All' /
C
      DATA NOSLIST4,ILIST4 / 4, 1 /
      DATA CHLIST4 / 'Off', 'A roads', 'B roads', 'All' /
C
      DATA NOSLIST5,ILIST5 / 4, 1 /
      DATA CHLIST5 / 'Off', 'Stone', 'Paper', 'All' /
C
      DATA NOSLIST6,ILIST6 / 4, 1 /
      DATA CHLIST6 / 'Off', 'Sky', 'Land', 'All' /
C
      DY = 0.75D0
C
      I = WINIO@('%sy[3D_thin,thin_border]&')
      I = WINIO@('%ww[no_maxminbox]&')
      I = WINIO@('%bg[btnface]&')
      I = WINIO@('%fd&')
      I = WINIO@('%ca[Screen 1]&')
      I = WINIO@('%`cn&')
C
      I = WINIO@('%ob[named_l][Options]&')
      I = WINIO@('%dyChoice 1 :%ta%dy%`^12.4ls&',
     *           DY, -0.75D0, CHLIST1, NOSLIST1, ILIST1, MNFUNC)
      I = WINIO@('%ff %ff%dyChoice 2 :%ta%dy%`^12.4ls&',
     *           DY, -0.75D0, CHLIST2, NOSLIST2, ILIST2, MNFUNC)
      I = WINIO@('%ff %ff%dyChoice 3 :%ta%dy%`^12.4ls&',
     *           DY, -0.75D0, CHLIST3, NOSLIST3, ILIST3, MNFUNC)
      I = WINIO@('%ff %ff%dyChoice 4 :%ta%dy%`^12.4ls&',
     *           DY, -0.75D0, CHLIST4, NOSLIST4, ILIST4, MNFUNC)
      I = WINIO@('%ff %ff%dyChoice 5 :%ta%dy%`^12.4ls&',
     *           DY, -0.75D0, CHLIST5, NOSLIST5, ILIST5, MNFUNC)
      I = WINIO@('%ff %ff%dyChoice 6 :%ta%dy%`^12.4ls&',
     *           DY, -0.75D0, CHLIST6, NOSLIST6, ILIST6, MNFUNC)
      I = WINIO@('%cb&')
C
      I = WINIO@('%ff %ff%ob[no_border]&')
      I = WINIO@('%`~rb[Variable]&', INDLEV, INDGR1)
      I = WINIO@('%~rd&', IVAL, INDGR21)
      I = WINIO@('%cb&')
C
      I = WINIO@('%if%ff %ff %ff%6bt[OK]')
C
      ISCRN1 = 1
C
      RETURN
      END


Last edited by Steve on Thu Feb 20, 2014 2:21 pm; edited 1 time in total
Back to top
View user's profile Send private message
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Thu Feb 20, 2014 12:01 pm    Post subject: Reply with quote

Remaining code :
Code:

      INTEGER FUNCTION ISCRN2()
C
      IMPLICIT REAL*8 (A-H, O-Z)
      IMPLICIT INTEGER*2 (J)
C
C
      I = WINIO@('%sy[3D_thin,thin_border]&')
      I = WINIO@('%ww[no_maxminbox]&')
      I = WINIO@('%bg[btnface]&')
      I = WINIO@('%fd&')
      I = WINIO@('%ca[Screen 2]&')
      I = WINIO@('%`cn&')
C
      I = WINIO@('Second screen&')
C
      I = WINIO@('%if%ff %ff %ff%6bt[OK]')
C
      ISCRN2 = 1
C
      RETURN
      END


      INTEGER FUNCTION MNFUNC()
C
      IMPLICIT REAL*8 (A-H, O-Z)
      IMPLICIT INTEGER*2 (J)
C
      COMMON / VALUES / IVAL, INDLEV, INDGR1, INDGR2
C
      INDGR1 = 1 - INDGR1
      INDGR2 = INDLEV * INDGR1
C
      MNFUNC = 1
C
      RETURN
      END


The most sure way to not crash is to not have the callbacks in place. Somehow, breaking the WINIO statements up or not including the %dy only delays a crash.

Hope this helps, Paul
Back to top
View user's profile Send private message
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Thu Feb 20, 2014 6:31 pm    Post subject: Reply with quote

For your info, Paul :

Seeing as the 6 example %`ls are all different lists, I have attempted to use 6 different callbacks. Crashes still occur.

I also attempted to remove the %cb surrounding the list boxes. Crashes still occur.

Is the problem CWP or Windows API ?
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Fri Feb 21, 2014 9:33 am    Post subject: Reply with quote

I will take a look at this shortly.
At the moment I have not idea what might be going wrong.
Back to top
View user's profile Send private message AIM Address
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Fri Feb 21, 2014 12:17 pm    Post subject: Reply with quote

Paul, I have just experimented using the callback return value of 2 and using window_update@. I have yet to crash my app. This may be a stop gap at the moment.
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Fri Feb 21, 2014 3:02 pm    Post subject: Reply with quote

A return value of 2 is preferred unless it means the screen is not being refreshed.
Back to top
View user's profile Send private message AIM Address
Steve



Joined: 23 Feb 2007
Posts: 73

PostPosted: Fri Feb 21, 2014 3:44 pm    Post subject: Reply with quote

Quote:
A return value of 2 is preferred unless it means the screen is not being refreshed.


Paul,

This is not a stated requirement in the literature, as far as I know.

We have loads of software that uses callback return values of 1.

Do you intend to identify the problem, please ? Thanks
Back to top
View user's profile Send private message
DanRRight



Joined: 10 Mar 2008
Posts: 2813
Location: South Pole, Antarctica

PostPosted: Fri Feb 21, 2014 9:50 pm    Post subject: Reply with quote

Steve: Does not crash in my Windows 8.1
Paul: Do all callbacks have generally return 2 ? I used 1 so far with my 1000s of callbacks
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> ClearWin+ All times are GMT + 1 Hour
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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