View previous topic :: View next topic |
Author |
Message |
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Tue Mar 07, 2017 9:43 am Post subject: |
|
|
I have downloaded and installed SLINK64 and it finds HHCTRL.OCX. So this problem is solved.
Thanks Paul. |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Tue Mar 07, 2017 10:12 am Post subject: |
|
|
In my subroutine calling NEW_PAGE@ I have inserted
include <dbos.ins>
Now SLINK64 finds NEW_PAGE@, but SLINKS reports:
WARNING the following symbols are missing:
__win_new_page
I don't understand these differences between SLINK and SLINK64. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7925 Location: Salford, UK
|
Posted: Tue Mar 07, 2017 10:55 am Post subject: |
|
|
"include <dbos.ins>" is only for 64 bits. If you want to compile for both 32 bits and 64 bits then you will need something like the following conditional compilation instructions...
CIF(_WIN64)
INCLUDE <dbos.ins>
CENDIF
You will also need /FPP on the FTN95 command line. |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Tue Mar 07, 2017 4:28 pm Post subject: |
|
|
This is working now.
But for me it seems to be a workaround. Or is there any reason why dbos.ins isn't included automatically, like in 32-bit mode?
I compile my existing sources as well in 32-bit as in 64-bit to detect problems and differences. And there are still a lot of problems and differences.
My main program is a software to calculate power flow conditions in electrical networks and as I see now, the 32-bit solution fails for my test example in calculation and the 64-bit solution calculates exact results.
The last time the 32-bit solution calculated exact results was when I used FTN95 7.xx.
Because there is a lot of mathematics behind I'm not sure how to find the reason of that wrong calculation. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7925 Location: Salford, UK
|
Posted: Tue Mar 07, 2017 4:49 pm Post subject: |
|
|
dbos.ins contains very old routines that were usually replaced when porting from the DBOS operating system to Windows NT (20 years or more ago). Some of them are redundant, some have simple alternatives, some have been renamed.
These routines are "hard-wired" into salflibc.dll so they don't need an interface for Win32. In theory I guess that they could be "hard-wired" into salflibc64.dll but the work-around seems like a reasonable compromise. |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Tue Mar 07, 2017 4:58 pm Post subject: |
|
|
Hey Paul,
INCLUDE <DBOS.INS> solves the problems with NEW_PAGE@ and FILL_RECTANGLE@
But adding INCLUDE <CLEARWIN.INS> to solve the problem with CLEAR_BITMAP_DC@ and RELEASE_BITMAP_DC leads to a lot of error message when compiling. I think the reason is USE MSWIN which contains "use clrwin".
1/0033) INTEGER*4 CW_HANDLE
*** CW_HANDLE has already been declared in MODULE CLRWIN (In include file
C:\Program Files (x86)\Silverfrost\FTN95\include\CLEARWIN.INS)
1/0034) PARAMETER (CW_HANDLE=7)
*** PARAMETER CW_HANDLE has been referenced before it's definition (In include
file C:\Program Files (x86)\Silverfrost\FTN95\include\CLEARWIN.INS)
*** Duplicate definition of PARAMETER CLRWIN!CW_HANDLE
1/0035) INTEGER*4 Y_PERMANENTLY,Y_TEMPORARILY,Y_NEVER
*** Y_PERMANENTLY has already been declared in MODULE CLRWIN (In include file
C:\Program Files (x86)\Silverfrost\FTN95\include\CLEARWIN.INS)
1/0036) PARAMETER (Y_PERMANENTLY=Z'0'L,Y_TEMPORARILY=Z'1'L,Y_NEVER=Z'2'L)
*** PARAMETER Y_PERMANENTLY has been referenced before it's definition (In
include file C:\Program Files
(x86)\Silverfrost\FTN95\include\CLEARWIN.INS)
*** Duplicate definition of PARAMETER CLRWIN!Y_PERMANENTLY
*** PARAMETER Y_TEMPORARILY has been referenced before it's definition
*** Duplicate definition of PARAMETER CLRWIN!Y_TEMPORARILY
*** PARAMETER Y_NEVER has been referenced before it's definition
*** Duplicate definition of PARAMETER CLRWIN!Y_NEVER
1/0038) INTEGER*4 CURSOR_ARROW,CURSOR_IBEAM,CURSOR_WAIT,CURSOR_CROSS, &
1/0039) &CURSOR_UPARROW,CURSOR_SIZE,CURSOR_ICON,CURSOR_SIZENWSE, &
1/0040) &CURSOR_SIZENESW,CURSOR_SIZEWE,CURSOR_SIZENS
*** CURSOR_ARROW has already been declared in MODULE CLRWIN (In include file
C:\Program Files (x86)\Silverfrost\FTN95\include\CLEARWIN.INS)
1/0042) PARAMETER(CURSOR_ARROW = 32512)
*** PARAMETER CURSOR_ARROW has been referenced before it's definition (In
include file C:\Program Files
(x86)\Silverfrost\FTN95\include\CLEARWIN.INS)
*** Duplicate definition of PARAMETER CLRWIN!CURSOR_ARROW
*** Too many errors
What can I do now? |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Tue Mar 07, 2017 5:19 pm Post subject: |
|
|
Paul,
I have solved the problem with CLEAR_BITMAP_DC@ and RELEASE_BITMAP_DC@:
In some of my subroutines there was no call of USE MSWIN. I have added this line and it works. I wonder why it worked before without this call. |
|
Back to top |
|
|
|