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 

Handles?
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit
View previous topic :: View next topic  
Author Message
EKruck



Joined: 09 Jan 2010
Posts: 224
Location: Aalen, Germany

PostPosted: Tue Aug 30, 2016 12:52 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


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

PostPosted: Tue Aug 30, 2016 3:46 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
EKruck



Joined: 09 Jan 2010
Posts: 224
Location: Aalen, Germany

PostPosted: Wed Aug 31, 2016 7:44 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


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

PostPosted: Wed Aug 31, 2016 8:07 am    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
EKruck



Joined: 09 Jan 2010
Posts: 224
Location: Aalen, Germany

PostPosted: Wed Aug 31, 2016 3:08 pm    Post subject: Reply with quote

Thank you, Paul,
where can I find the information - or can you send it by email?
Erwin
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


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

PostPosted: Thu Sep 01, 2016 7:30 am    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
EKruck



Joined: 09 Jan 2010
Posts: 224
Location: Aalen, Germany

PostPosted: Thu Sep 01, 2016 7:34 am    Post subject: Reply with quote

Tank you, Paul,
that is what I was missing.
Erwin
Back to top
View user's profile Send private message Visit poster's website
LitusSaxonicum



Joined: 23 Aug 2005
Posts: 2388
Location: Yateley, Hants, UK

PostPosted: Thu Sep 01, 2016 1:54 pm    Post subject: Reply with quote

Seems that an 8-byte handle allows a lot of windows elements to be individually addressed ...
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


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

PostPosted: Thu Sep 01, 2016 2:03 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
JohnCampbell



Joined: 16 Feb 2006
Posts: 2554
Location: Sydney

PostPosted: Fri Sep 02, 2016 5:04 am    Post subject: Reply with quote

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
View user's profile Send private message
PaulLaidler
Site Admin


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

PostPosted: Fri Sep 02, 2016 6:54 am    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
EKruck



Joined: 09 Jan 2010
Posts: 224
Location: Aalen, Germany

PostPosted: Fri Sep 02, 2016 7:15 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
EKruck



Joined: 09 Jan 2010
Posts: 224
Location: Aalen, Germany

PostPosted: Fri Sep 02, 2016 7:47 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


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

PostPosted: Sat Sep 03, 2016 7:45 am    Post subject: Reply with quote

The ClearWin+ interface for OpenGL is supported for 64 bit FTN95 applications.
Back to top
View user's profile Send private message AIM Address
EKruck



Joined: 09 Jan 2010
Posts: 224
Location: Aalen, Germany

PostPosted: Sat Sep 24, 2016 8:47 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit All times are GMT + 1 Hour
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
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