Silverfrost Forums

Welcome to our forums

Fancy_button_procedure@16 error

31 May 2013 4:40 #12295

Large and complex legacy program originally MSDOS now converted to FTN95/Clearwin+, compiled with full debug checks (/CHECKMATE etc), most errors - undefined variables, bad argument lists etc - seem to be picked up, and I get traceback to the offending line of code. However, sometimes, unpredictably, it just bombs out in code that other times works perfectly. No usable traceback, just

Access violation The instruction at address 1007c9f3 attempted to read from location 07497000 1007c8c3 fancy_button_procedure@16 [+130]

  • followed by a whole lot of gobbledygook traceback

It seems to happen usually when I've just clicked on a button, which perhaps makes sense. But I can find nothing wrong with the coding around the button - which is of course all new Clearwin+ coding.

Thoughts?

  • Steve

http://www.vmine.net/FANCY_BUTTON_ERROR2.jpg

31 May 2013 7:01 #12299

The immediate work-around is to remove the colour from the GO button. Then it will no longer be a 'fancy' button.

Looking at the ClearWin+ code, I can see how it can easily be made more robust. Also I am about to upload a new beta version of salflibc.dll for users to test and I can make the changes before doing this.

As for the actual problem, I would need your code for the window and for it to fail for me in the same way, before I could comment. However, you sometimes get this sort of problem when a window closes prematurely leaving dangling window handles (HWNDs) for windows that no longer exist.

31 May 2013 7:35 #12304

Paul - That's extremely helpful. Certainly can remove the colour and see if it helps. The code is intricate and many tens of thousands of lines so impractical to send for your tests. However, premature window close and hanging handles may give me a clue as to what to try! Thanks a bunch.

New Fortran purchase now imminent - want to do it in this VAT quarter, i.e., before end-June.

all the best

Steve

2 Jun 2013 4:17 #12308

Steve, I compile most code using /debug. This typically gives a better traceback report, altough not always. It is worth trying if you have not already done so. I only use /opt for code that I am confident works or is a major contributor to run time.

John

Please login to reply.