View previous topic :: View next topic |
Author |
Message |
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Mon Mar 06, 2017 2:19 pm Post subject: Problems with %eb and FTN95 8.10 |
|
|
I have a problem with the new compiler version FTN95 8.10.
In my source code I have this call of %eb:
RC=WINIO@ ('%^78.15`eb[VSCROLLBAR,UNDO]&',CBUFF,NBUFF,EDIT_INFO,EB_CHANGED)
The declaration of the parameter EDIT_INFO is made in a modul:
INTEGER*4 EDIT_INFO(24)
When compiling in 32-bit mode I get this error message:
*** EDIT_INFO was ambiguously declared in more than one MODULE, so cannot be used
In 64-bit mode it compiles without error.
Also with FTN95 8.05 there was no error in both modes.
Astonishing:
I renamed EDIT_INFO to EDIT_INFOX and the compilation with FTN95 8.10 gave no errors in both modes.
Detlef Pannhorst |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7931 Location: Salford, UK
|
Posted: Mon Mar 06, 2017 2:36 pm Post subject: |
|
|
I wonder if you just need to rebuild all of your modules.
The EDIT_INFO array/structure has a different size for 64 bits because it contains addresses. You can use an array but it is recommended that you use the "TYPE edit_info" that is defined in clearwin.ins and is available via "USE clrwin". If you use an array of size 24 then the size should be increased to (say) 48. |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Mon Mar 06, 2017 2:51 pm Post subject: |
|
|
I have rebuild all files of my project with the new compiler version.
The problem comes with compiling in 32-bit mode. So I think the structure size of 24 should be OK.
I wonder why renaming solves the problem?
I will try to use the "TYPE edit_info". |
|
Back to top |
|
|
dpannhorst
Joined: 29 Aug 2005 Posts: 165 Location: Berlin, Germany
|
Posted: Mon Mar 06, 2017 6:46 pm Post subject: |
|
|
I don't find any description of TYPE / END TYPE structure in the FTN95 help and how to use this structure. |
|
Back to top |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7931 Location: Salford, UK
|
Posted: Tue Mar 07, 2017 8:27 am Post subject: |
|
|
Your original problem may be due to a conflict between the name of your array and the name of the new TYPE(edit_info). If so then you might consider changing the names of all your EDIT_INFO arrays.
Otherwise TYPE(edit_info) is defined in clearwin.ins and you could write something like:
INCLUDE <clearwin.ins>
TYPE(edit_info) inf
iw = winio@("%`eb", .... inf)
if(inf%modification_flag)then .... |
|
Back to top |
|
|
|