Trying to run SIMDEM09 (simple x-y plt) compiled linked ok using salflibc.lib
I get this error when I run the executable:
The procedure entry point_cancel_selection could not be located in dynamic link library salflibc.dll
Any ideas please???
Welcome to our forums
Trying to run SIMDEM09 (simple x-y plt) compiled linked ok using salflibc.lib
I get this error when I run the executable:
The procedure entry point_cancel_selection could not be located in dynamic link library salflibc.dll
Any ideas please???
Certainly this routine is not in salflibc.dll. I don't know why it is looking for it in this dll. If it is not one of your routines then it might be in the one of the simfit libraries.
Here below is the essence of the batch file i was supplied to try out Simdem09: Ok the Salflibc.lib previously mentioned does not appear to be involved but I was told to include it in my folder etc.
ftn95 simdem09.for
slink -file:simdem09 simdem09.obj w_menus.dll w_graphics.dll w_clearwin.dll
This works ok but when I exceute I get the error message I previosly posted: 'The procedure entry point_cancel_selection could not be located in dynamic link library salflibc.dll...'
I cannot find point_cancel_selection in the simfit libraries.
If this routine is not in the program sindem09.for then it must be accessed via the project settings in some way.
Hi Paul,
Well if you look at the source code for SIMDEM09 in the SIMEDEM package it just calls a routine called GKS001 etc...
This is what BB wrote about problem....Colin
'Perhaps I did not mention as it was so blatantly obvious but the routine cancel_selection is not in the salflibc.dll that is on the path as it has only been added recently.
The simdem package that seems to work for you works because it is using salflibc.dll as a local file which takes precedence over the path.
I think you may have to wait till you can use release 6 because it may also be that ftn95 and salflibc.lib are also inconsistent like salflibc.dll clearly is. However it may work as I have said as this depends on whether the called routines in my DLLs are still consistent between your old ftn95 and old salflic.lib.'
Bill -- Bill Bardsley
OK I get it.
There is a routine cancel_selection that is in the latest salflibc.dll.
Hi Paul,
Ok I need to re-download Salford FTN95 i guess but my version is only say 6-8 weeks old???
I did try to download the other week - see my error message on the other thread on here reprpduced below - can you help with this?
...however when I try to download FTN95 from SF website there is an error 1310 Policy1.0 FTN95LIB.CONFIG verify that you have access to this file...
It looks to me that you are using an old salflibc.dll. You could call the following routine to see what you are using. ! Last change: JDC 24 Oct 2003 3:24 pm subroutine echo_dll_version ! C_EXTERNAL SCC_LIB_VERSION@ '_scc_lib_version' :INTEGER4 C_EXTERNAL INITLIBRARYFILEINFO@ '_InitLibraryFileInfo'():INTEGER4 C_EXTERNAL GETLIBRARYVERSIONINFO@ '_GetLibraryVersionInfo'():STRING C_EXTERNAL GETLIBRARYPATH@ '_GetLibraryPath'():STRING C_EXTERNAL GETLIBRARYDATEINFO@ '_GetLibraryDateInfo'():STRING ! integer dll_version character str_dll_version_info256 character dos_date9, dll_date*9 external dos_date ! dll_version = 0 dll_version = INITLIBRARYFILEINFO@() if (dll_version > 0) then str_dll_version_info = GETLIBRARYVERSIONINFO@() write ( *,1000) ' dll_version_inf : ', trim (str_dll_version_info) write (98,1000) ' dll_version_inf : ', trim (str_dll_version_info) str_dll_version_info = GETLIBRARYPATH@() write ( *,1000) ' dll_path_inf : ', trim (str_dll_version_info) write (98,1000) ' dll_path_inf : ', trim (str_dll_version_info) str_dll_version_info = GETLIBRARYDATEINFO@() write ( *,1000) ' dll_date_inf : ', trim (str_dll_version_info) write (98,1000) ' dll_date_inf : ', trim (str_dll_version_info) else dll_version = scc_lib_version@ () dll_date = dos_date (ints(dll_version)) ! WRITE ( *,1001) dll_date, dll_version WRITE (98,1001) dll_date, dll_version end if write ( *,1000) ' ' write (98,1000) ' ' 1000 FORMAT (a,a) 1001 FORMAT (' Salford DLL code : ',a,i11) ! RETURN ! END
character*9 function dos_date (yymmdd)
!
integer*2 yymmdd
!
character temp*9, label(0:12)*3
integer*4 yy,mm,dd
intrinsic mod
data label / '___', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', &
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' /
!
! yyyyyyy mmmm ddddd
dd = iand (yymmdd,31) ! 0-31
mm = iand (ishft(yymmdd,-5),15) ! 0-15
yy = ishft (yymmdd,-9) ! 0-127
!
yy = mod (yy+1980,100)
if (mm>12 .OR. mm<0) mm = 0
!
write (temp,1001) dd,label(mm),yy
1001 format (i2.2,'-',a3,'-',i2.2)
dos_date = temp
return
end
Note: I use unit 98 as a run log file
Thanks for code - but it does not compile I get error messages:
No main, Winmain or LibMain...I compiled/linked using the salflibc.lib which I assume is correct???
In the compiler folder you will find a executable called saldiag.exe.
You can run this to find out which salflibc.dll you are accessing.
Typically you will find that there is more than one salflibc.dll lying around. There may be one in the local folder that is being called rather than the one in the compiler folder which ought to be the latest version (i.e. supplied with FTN95 version 6.0).
Add the following to the subroutine provided by John:
program test
open(98,file='version.txt')
call echo_dll_version
end
Thanks for the code...but what Paul suggested works its ver 12.2.27.20 at the root directory, but there is one under Salford/win32 that has no version associated with it !!
Also you only had to right mouse click the first file to get the version number !!