The following code fails at runtime with 'Argument number 4 of WINIO@ (continuation 7) should be a 64 bit integer'. This is using gFortran to call ClearWin+. Is there another way to extract a handle to the rendering context so I can work around it? The code is from an existing application that works under 32 bit ClearWin when compiled with FTN95.
i=winio$('%`^og[double,depth16]&',iwinx,iwiny, icont, opengl_proc)
Simplifying it to the following by removing the grave character (and parameter) works, but does not return the handle, as required.
i=winio$('%^og[double,depth16]&',iwinx, iwiny, opengl_proc)
I have tried single dimensions scalar arrays for the integers (as suggested in the FTN95.chm help file) and both 32 and 64 bit integers for the icont parameter.
On usage of the grave character, from the help file (it looks as if it should be a 32 bit integer from the definitions):
&',iwinx,iwiny, icont, opengl_proc)
Simplifying it to the following by removing the grave character (and parameter) works, but does not return the handle, as required.
i=winio$('%^og[double,depth16]&',iwinx, iwiny, opengl_proc)I have tried single dimensions scalar arrays for the integers (as suggested in the FTN95.chm help file) and both 32 and 64 bit integers for the icont parameter.
On usage of the grave character, from the help file (it looks as if it should be a 32 bit integer from the definitions): [quote:9b08364568]By using the grave modifier (%`og) you supply one extra integer argument (immediately before the callback function, if any) that receives a handle known as a 'rendering context'. This handle is passed to SET_OPENGL_CONTEXT@ in order to switch between the various active OpenGL controls:
SUBROUTINE SET_OPENGL_CONTEXT@(C) INTEGER C
INTEGER FUNCTION GET_OPENGL_CONTEXT@()
As this is from working code, I don't believe I am doing anything daft but am happy to be corrected.
Thanks
Ryan
