View previous topic :: View next topic |
Author |
Message |
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Thu Jan 26, 2017 3:54 pm Post subject: Unknown subroutines |
|
|
In my old 32bit projects I have used the following subroutines:
ADD_FORTRAN_WINDOW_CALLBACK
and
GETCL@
I can't find any discription in the actual help and also it seems to be unknown to the 64bit linker.
Detlef Pannhorst |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7933 Location: Salford, UK
|
Posted: Thu Jan 26, 2017 4:47 pm Post subject: |
|
|
ADD_FORTRAN_WINDOW_CALLBACK appears in clearwin.ins and the corresponding mod file. On my machine it is exported by clearwin64.dll but that might have been added since the last full release.
GETCL@ has not been ported. Please check that this routine is used/needed. It is a very old routine that would be tricky to port. |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Fri Jan 27, 2017 10:03 am Post subject: |
|
|
Hi Paul,
do you have any old documentation of GETCL@? I can't find anything and I don't remember the reason why I have used this subroutine. The last modification of the source in which I have used it is 1997.
Where can I get the new clearwin64.dll. I am using FTN95 8.05.
Detlef Pannhorst |
|
Back to top |
|
|
mecej4
Joined: 31 Oct 2006 Posts: 1891
|
Posted: Fri Jan 27, 2017 1:29 pm Post subject: |
|
|
This is from the FTN77.HLP file:
Quote: | Purpose To get a line of text from the keyboard.
Syntax SUBROUTINE�GETCL@(C,LC)
CHARACTER*(*)�C
INTEGER*2�LC
Description This routine waits until the next line is typed at the keyboard, and returns it in C. LC is set to the length of the line. |
There is a link to some new DLLs in Paul Laidler's post of 1 Dec 2016 at http://forums.silverfrost.com/viewtopic.php?t=3357&postdays=0&postorder=asc&start=75 . |
|
Back to top |
|
|
LitusSaxonicum
Joined: 23 Aug 2005 Posts: 2390 Location: Yateley, Hants, UK
|
Posted: Fri Jan 27, 2017 1:31 pm Post subject: |
|
|
From FTN77/386 manual:
18.2.22 GETCL@
This routine waits until the next line is typed at the keyboard, and returns it in C. LC is set to the length of the line.
Definition:
Code: | SUBROUTINE GETCL@ (C, LC)
CHARACTER*(*) C
INTEGER*2 LC |
Example:
Code: | CHARACTER*10 ANS
INTEGER*2 LC
1 CALL COUA@('Type STOP or GO')
CALL GETCL@(ANS, L)
CALL UPCASE@(ANS)
IF (ANS .EQ. 'STOP') GO TO 10
IF (ANS .EQ. 'GO') GO TO 20
GO TO 1 |
Eddie (Beaten to it by MECEJ4 by 2 minutes) |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Fri Jan 27, 2017 2:18 pm Post subject: |
|
|
Thanks for examples and documentation. I will try to find a replacement for GETCL@.
Detlef Pannhorst |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Fri Jan 27, 2017 2:21 pm Post subject: |
|
|
By the way, the function GET_DEFAULT_WINDOW@() seems also not to be ported to 64bit. SLINK64 reports it as undefined symbol.
Detlef Pannhorst |
|
Back to top |
|
|
LitusSaxonicum
Joined: 23 Aug 2005 Posts: 2390 Location: Yateley, Hants, UK
|
Posted: Fri Jan 27, 2017 4:05 pm Post subject: |
|
|
Detlef,
LEN_TRIM seems to do the same job, i.e.
LC = LEN_TRIM (ANS)
and then deal with
ANS (1:LC)
But then you already knew that.
There are some very useful old routines deep in the vaults of FTN77.
Eddie |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7933 Location: Salford, UK
|
Posted: Fri Jan 27, 2017 4:09 pm Post subject: |
|
|
GET_DEFAULT_WINDOW@ is declared in clearwin.ins and (on my machine) is exported by clearwin64.dll but (as before) this might not be exported in the latest full release.
Also INTEGER(7) (in clearwin.ins) was not being read correctly by FTN95. This has now been fixed for the next release.
The next release is expected shortly but this will not include a port of GETCL@. |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Fri Jan 27, 2017 4:22 pm Post subject: |
|
|
Trying to port another project to 64bit, I have found some other undeclared symbols like:
- RELEASE_BITMAP_DC@
- CLEAR_BITMAP@
- FILL_RECTANGLE@
- NEW_PAGE@ and
- UPDATE@
Hopefully they will be satisfied in the next release? |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Fri Jan 27, 2017 4:37 pm Post subject: |
|
|
In my 32bit projects I could link from Windows/System32 like this:
LOAD C:\WINDOWS\SYSTEM32\WINSPOOL.DRV
LOAD C:\WINDOWS\SYSTEM32\HHCTRL.OCX
In the same 64bit project SLINK64 gives this message:
[SLINK64 v1.7, Copyright (c) Silverfrost Ltd. 2015-2016]
***SLINK64 does not know what to do with file C:\WINDOWS\SYSTEM32\WINSPOOL.DRV
Other files link succesfully, like these:
LOAD C:\WINDOWS\SYSTEM32\MAPI32.DLL
LOAD C:\WINDOWS\SYSTEM32\OLE32.DLL
LOAD C:\WINDOWS\SYSTEM32\VERSION.DLL |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7933 Location: Salford, UK
|
Posted: Fri Jan 27, 2017 5:16 pm Post subject: |
|
|
RELEASE_BITMAP_DC@ in clearwin.ins and exported by clearwin64.dll
CLEAR_BITMAP@ in clearwin.ins and exported by clearwin64.dll
FILL_RECTANGLE@ in dbos.ins and exported by clearwin64.dll
NEW_PAGE@ in dbos.ins and exported by clearwin64.dll
UPDATE@ I don't know this one - please check the spelling.
Again, this may not reflect the current main release. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7933 Location: Salford, UK
|
Posted: Fri Jan 27, 2017 5:37 pm Post subject: |
|
|
At the moment SLINK64 is not able to handle WINSPOOL.DRV or HHCTRL.OCX.
We might need some simple sample code that demonstrates how these files are used in your application. |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Fri Jan 27, 2017 6:03 pm Post subject: |
|
|
HHCTRL.OCX is used in this example:
SUBROUTINE WINHLP32 (MYHELP,HELP_TYPE,CONTEXT)
USE MSWIN
STDCALL HTMLHELP 'HtmlHelpA' (VAL,STRING,VAL,VAL):INTEGER*4
IMPLICIT NONE
INTEGER*4 CONTEXT,HELP_TYPE
CHARACTER MYHELP*(*)
INTEGER*4,PARAMETER::HELP_FINDER=11
INTEGER*4,PARAMETER::HH_DISPLAY_TOPIC=Z'0000'
INTEGER*4,PARAMETER::HH_HELP_FINDER=Z'0000'
INTEGER*4,PARAMETER::HH_DISPLAY_TOC=Z'0001'
INTEGER*4,PARAMETER::HH_DISPLAY_INDEX=Z'0002'
INTEGER*4,PARAMETER::HH_DISPLAY_SEARCH=Z'0003'
INTEGER*4,PARAMETER::HH_SET_WIN_TYPE=Z'0004'
INTEGER*4,PARAMETER::HH_GET_WIN_TYPE=Z'0005'
INTEGER*4,PARAMETER::HH_GET_WIN_HANDLE=Z'0006'
INTEGER*4,PARAMETER::HH_ENUM_INFO_TYPE=Z'0007'
INTEGER*4,PARAMETER::HH_SET_INFO_TYPE=Z'0008'
INTEGER*4,PARAMETER::HH_SYNC=Z'0009'
INTEGER*4,PARAMETER::HH_RESERVERD1=Z'000A'
INTEGER*4,PARAMETER::HH_RESERVED2=Z'000B'
INTEGER*4,PARAMETER::HH_RESERVED3=Z'000C'
INTEGER*4,PARAMETER::HH_KEYWORD_LOOKUP=Z'000D'
INTEGER*4,PARAMETER::HH_DISPLAY_TEXT_POPUP=Z'000E'
INTEGER*4,PARAMETER::HH_HELP_CONTEXT=Z'000F'
INTEGER*4,PARAMETER::HH_TP_HELP_CONTEXTMENU=Z'0010'
INTEGER*4,PARAMETER::HH_TP_HELP_WM_HELP=Z'0011'
INTEGER*4,PARAMETER::HH_CLOSE_ALL=Z'0012'
INTEGER*4,PARAMETER::HH_ALINK_LOOKUP=Z'0013'
INTEGER*4,PARAMETER::HH_GET_LAST_ERROR=Z'0014'
INTEGER*4,PARAMETER::HH_ENUM_CATEGORY=Z'0015'
INTEGER*4,PARAMETER::HH_ENUM_CATEGORY_IT=Z'0016'
INTEGER*4,PARAMETER::HH_RESET_IT_FILTER=Z'0017'
INTEGER*4,PARAMETER::HH_SET_INCLUSIVE_FILTER=Z'0018'
INTEGER*4,PARAMETER::HH_SET_EXCLUSIVE_FILTER=Z'0019'
INTEGER*4,PARAMETER::HH_INITIALIZE=Z'001C'
INTEGER*4,PARAMETER::HH_UNINITIALIZE=Z'001D'
INTEGER*4,PARAMETER::HH_SET_GLOBAL_PROPERTY=Z'00FC'
INTEGER*4,PARAMETER::HH_PRETRANSLATEMESSAGE=Z'00FD'
IF(HELP_TYPE.EQ.HELP_CONTENTS)THEN
IF(CONTEXT.GT.0)THEN
RC=HTMLHELP(0,TRIM(MYHELP),HH_HELP_CONTEXT,CONTEXT)
ELSE
RC=HTMLHELP(0,TRIM(MYHELP),HH_DISPLAY_TOC,0)
ENDIF
ELSEIF(HELP_TYPE.EQ.HELP_FINDER)THEN
RC=HTMLHELP(0,TRIM(MYHELP),HH_DISPLAY_INDEX,0)
ENDIF
RETURN
END
|
|
Back to top |
|
|
JohnCampbell
Joined: 16 Feb 2006 Posts: 2556 Location: Sydney
|
Posted: Sat Jan 28, 2017 2:30 am Post subject: |
|
|
You may want to refer to FTN95 help at:
FTN95 >
> Win32 platform
> Clearwin+
> Functions ported from DBOS
> Table of alternative routines
This gives info on older routines, although I am not sure if this list includes those you have described. Worth a look.
John |
|
Back to top |
|
|
|