Silverfrost Forums

Welcome to our forums

Salflibc.dll problem

4 Jan 2011 2:26 #7352

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???

4 Jan 2011 8:24 #7355

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.

5 Jan 2011 12:08 #7365

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...'

5 Jan 2011 3:31 #7371

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.

5 Jan 2011 4:25 #7373

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

5 Jan 2011 6:49 #7376

OK I get it.

There is a routine cancel_selection that is in the latest salflibc.dll.

6 Jan 2011 9:15 #7381

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...

6 Jan 2011 11:21 #7383

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

6 Jan 2011 12:48 #7387

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???

6 Jan 2011 2:07 #7390

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).

6 Jan 2011 2:09 #7391

Add the following to the subroutine provided by John:

      program test
      open(98,file='version.txt')
      call echo_dll_version
      end
7 Jan 2011 9:13 #7406

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 !!

Please login to reply.