View previous topic :: View next topic |
Author |
Message |
EKruck
Joined: 09 Jan 2010 Posts: 224 Location: Aalen, Germany
|
Posted: Tue Aug 30, 2016 12:52 pm Post subject: |
|
|
Paul,
my thought is that VAL allows int*4 or int*8 intput regardless what inside the function is used, while REF parameters should have the correct type.
Correct?
As a result we should have correct type for ClearWin functions and subroutines.
Erwin |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Tue Aug 30, 2016 3:46 pm Post subject: |
|
|
It is not always necessary but always advisable to match the types of VAL dummy arguments with VAL actual arguments. The same is true for REF arguments.
If you know, for example, that the first argument of GET_WINDOW_LOCATION@ is a Microsoft HWND handle and that the value returned when using %hw is a Microsoft HWND handle then you know that the returned integer(7) value should be used as input for GET_WINDOW_LOCATION@. |
|
Back to top |
|
|
EKruck
Joined: 09 Jan 2010 Posts: 224 Location: Aalen, Germany
|
Posted: Wed Aug 31, 2016 7:44 am Post subject: |
|
|
Paul,
it's frustating, now we are at the starting point again:
Please provide a list of subroutines an functions which are changed and have now integer*8 parameters or results!
For function results in can be extracted BY YOU from the include files. This is YOUR job. You cannot expect that every user has to find out with trial and error by himself where to use int*8. For subroutine parameters I did not find any hint.
I'm paying since about 20 years for maintenance, and I expect, that you do your maintenance!
Without documentation I cannot do serious software developments.
Erwin |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Wed Aug 31, 2016 8:07 am Post subject: |
|
|
Erwin
I agree. I am also frustrated that I have not managed to explain that all the necessary information is already available. However I will pass on your request. |
|
Back to top |
|
|
EKruck
Joined: 09 Jan 2010 Posts: 224 Location: Aalen, Germany
|
Posted: Wed Aug 31, 2016 3:08 pm Post subject: |
|
|
Thank you, Paul,
where can I find the information - or can you send it by email?
Erwin |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Thu Sep 01, 2016 7:30 am Post subject: |
|
|
ClearWin+ functions returning integer(7) values
ADD_GRAPHICS_ICON@
CLEARWIN_INFO@
CREATE_CURSOR@
CREATE_BITMAP@
CREATE_ICON@
CREATE_INTERPROCESS_SHAERMEM@
CREATE_SHARED_MEMORY@
CREATE_WINDOW@
DOWNLOAD@
GET_BITMAP_DC@
GET_GRAPHICS_DC@
GET_WINDOW_HANDLE@
HANDLE_FROM_CONTROL_NAME@
IDENTIFY_WINDOW_HANDLE@
IMPORT_BMP@
IMPORT_GIF@
IMPORT_PCX@
MAKE_BITMAP@
MAKE_ICON@
MAP_FILE_FOR_READING@
MAP_FILE_FOR_READ_WRITE@
MOVIE_PLAYING@
OPEN_INTERPROCESS_SHAREMEM@
OPEN_WAV_FILE_READ@
OPEN_WAV_FILE_WRITE@
SET_DEFAULT_WINDOW@
START_THREAD@
WINDOWS_INSTANCE@
WINDOW_HANDLE@
ClearWin+ subroutines returning an integer(7) value via its argument
GET_CURRENT_DC@
ClearWin+ subprograms with integer(7) input arguments (the first argument except where stated)
ADD_ACCELERATOR@
ADD_ACCELERATOR1@
ATTACH_BITMAP_PALETTE@ (both arguments)
CHANGE_HYPERTEXT@
CHANGE_PEN@
CLEAR_BITMAP@
IDENTIFY_WINDOW_HANDLE@
RELEASE_BITMAP_DC@
REMOVE_ACCELERATOR@
REMOVE_BITMAP@
REMOVE_ICON@
REPLACE_ENHANCED_MENU@
REPLACE_ENHANCED_POPUP_MENU@
SELECT_GRAPHICS_OBJ_BY_WINDOW@
SELECT_PALETTE@ (second argument)
SET_CONTROL_VISIBILITY@
SET_HIGHLIGHTED@
SET_MOUSE_CURSOR_POSITION@ |
|
Back to top |
|
|
EKruck
Joined: 09 Jan 2010 Posts: 224 Location: Aalen, Germany
|
Posted: Thu Sep 01, 2016 7:34 am Post subject: |
|
|
Tank you, Paul,
that is what I was missing.
Erwin |
|
Back to top |
|
|
LitusSaxonicum
Joined: 23 Aug 2005 Posts: 2388 Location: Yateley, Hants, UK
|
Posted: Thu Sep 01, 2016 1:54 pm Post subject: |
|
|
Seems that an 8-byte handle allows a lot of windows elements to be individually addressed ... |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Thu Sep 01, 2016 2:03 pm Post subject: |
|
|
In this context, a "handle" is a pointer to (an address of) a block of data that defines an object such as a Window, a bitmap etc.. |
|
Back to top |
|
|
JohnCampbell
Joined: 16 Feb 2006 Posts: 2554 Location: Sydney
|
Posted: Fri Sep 02, 2016 5:04 am Post subject: |
|
|
Could I suggest that FTN95.chm needs a section on "Handles".
When I come back to my clearwin+ code, I keep getting confused as to the type of handle that is being described for Clearwin+ format codes, functions and subroutines. I know I have made this request before, but an overview of the handle types that are used would certainly help.
What we need to understand is:
* Is the handle value supplied or returned
* What byte size is the handle.
* what related routines and format codes use this handle.
* for handles being supplied, where does their value come from.
I concede, I am lazy and should learnt this, but I don't remember this stuff and typically FTN95.chm doesn't clearly spell this out.
The list that Paul has provided is a great start. It needs to be collected and easily found. The function information can be found in clearwin.ins, but the subroutine arguments info is in ftn95.chm, which needs updating. I often have 2 copied of FTN95 help open to help understand.
John
ps:
I have always wanted to rewrite FTN95.chm for routines and replace kind=?. with INTEGER*n.
When we solve this one, could we also have an update for DIB, as my recollection is there are 2 groups of routines for DIB, which don't speak to one another. I try to avoid these as I know I will have to search the help info to update on what I keep forgetting!
Scary what I keep forgetting ! |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Fri Sep 02, 2016 6:54 am Post subject: |
|
|
Thanks John. We are aware that work needs to be done in this area. It is simply a matter of ordering priorities. Our immediate aim is to release a fully functional 64 bit compiler as soon as possible and to fill the gap in the documentation by providing a rapid response to questions on this Forum. |
|
Back to top |
|
|
EKruck
Joined: 09 Jan 2010 Posts: 224 Location: Aalen, Germany
|
Posted: Fri Sep 02, 2016 7:15 am Post subject: |
|
|
I recomment ti include INTEGER(HANDLE) in the next release as a compiler function. CW_HANDLE is a little confusing because it is used for MS handles only.
From the documentation one point is open for me: Can I expect 64-bit support for OpenGL ?
Erwin |
|
Back to top |
|
|
EKruck
Joined: 09 Jan 2010 Posts: 224 Location: Aalen, Germany
|
Posted: Fri Sep 02, 2016 7:47 am Post subject: |
|
|
To find all calls of the listed ClearWin functions and subroutines in the source files, the followind batch file might be helpfull
Code: | call tfs ADD_GRAPHICS_ICON
call tfs CLEARWIN_INFO
call tfs CREATE_CURSOR
call tfs CREATE_BITMAP
call tfs CREATE_ICON
call tfs CREATE_INTERPROCESS_SHAERMEM
call tfs CREATE_SHARED_MEMORY
call tfs CREATE_WINDOW
call tfs DOWNLOAD
call tfs GET_BITMAP_DC
call tfs GET_GRAPHICS_DC
call tfs GET_WINDOW_HANDLE
call tfs HANDLE_FROM_CONTROL_NAME
call tfs IDENTIFY_WINDOW_HANDLE
call tfs IMPORT_BMP
call tfs IMPORT_GIF
call tfs IMPORT_PCX
call tfs MAKE_BITMAP
call tfs MAKE_ICON
call tfs MAP_FILE_FOR_READING
call tfs MAP_FILE_FOR_READ_WRITE
call tfs MOVIE_PLAYING
call tfs OPEN_INTERPROCESS_SHAREMEM
call tfs OPEN_WAV_FILE_READ
call tfs OPEN_WAV_FILE_WRITE
call tfs SET_DEFAULT_WINDOW
call tfs START_THREAD
call tfs WINDOWS_INSTANCE
call tfs WINDOW_HANDLE
call tfs GET_CURRENT_DC
call tfs ADD_ACCELERATOR
call tfs ADD_ACCELERATOR1
call tfs ATTACH_BITMAP_PALETTE
call tfs CHANGE_HYPERTEXT
call tfs CHANGE_PEN
call tfs CLEAR_BITMAP
call tfs IDENTIFY_WINDOW_HANDLE
call tfs RELEASE_BITMAP_DC
call tfs REMOVE_ACCELERATOR
call tfs REMOVE_BITMAP
call tfs REMOVE_ICON
call tfs REPLACE_ENHANCED_MENU
call tfs REPLACE_ENHANCED_POPUP_MENU
call tfs SELECT_GRAPHICS_OBJ_BY_WINDOW
call tfs SELECT_PALETTE
call tfs SET_CONTROL_VISIBILITY
call tfs SET_HIGHLIGHTED
call tfs SET_MOUSE_CURSOR_POSITION
|
with tfs.bat:
Code: | findstr /i /n /s /c:%1 *.f90
|
This procedure scans the current directory and all subdirectories
Erwin |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7927 Location: Salford, UK
|
Posted: Sat Sep 03, 2016 7:45 am Post subject: |
|
|
The ClearWin+ interface for OpenGL is supported for 64 bit FTN95 applications. |
|
Back to top |
|
|
EKruck
Joined: 09 Jan 2010 Posts: 224 Location: Aalen, Germany
|
Posted: Sat Sep 24, 2016 8:47 am Post subject: |
|
|
What about Resize_Window@ and Change_Button_Text@ if the handle has been set using %lc ?
or Update_Window@ and Window_Update@ if the handle has been set using %hw ?
or Set_Max_Lines@ if the handle has been set using %`cw ? |
|
Back to top |
|
|
|