Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
1 View

Strand7

Strand7 is a structural package out of Western Australia -- it has the ability to allow an IF program to link to the Strand7 models.  The Strand7 includes a DLL and when I compile the program in VS 2013 and the latest IF - I get the message - cannot load ST7API.DLL. This file is stored in the directory

C:\Program Files (x86)\Strand7 R24\Bin

The SLN file had to be automatically upgraded from an older VS version. 

I looked through the properties and could not see any reference to the DLL file

/OUT:"Debug\St7APIDemo.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\St7APIDemo.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Program Files (x86)\Strand7 R24\API\Example Code\Intel Visual Fortran\Debug\St7APIDemo.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"C:\Program Files (x86)\Strand7 R24\API\Example Code\Intel Visual Fortran\Debug\St7APIDemo.lib"

This is the linker command line:  Help?

 

PS: is DFLIB - Digital Fortran ?

Ta

John

USE St7APICall
   USE DFLIB
   USE KERNEL32
   LOGICAL Loaded

   PtrSt7API=LOADLIBRARY("St7API.dll"C)
   IF (PtrSt7API == 0) THEN
      Loaded = .FALSE.
      RETURN
   ELSE
      Loaded = .TRUE.
   ENDIF
!  Load the API
   CALL LoadSt7API(Loaded)
   IF (Loaded) then
      WRITE(*,*) "ST7API.DLL loaded successfully."
   ELSE
      WRITE(*,*) "Cannot load ST7API.DLL."
      WRITE(*,*) "Press <Enter>"
      READ(*,*)
      STOP
   ENDIF

 

0 Kudos
4 Replies
Highlighted
Valued Contributor II
1 View

The reference to the DLL is

The reference to the DLL is in the Fortran code, not in the link step. The function LoadLibrary loads the DLL whenever it is called instead of at the start-up of the program.

0 Kudos
Highlighted
1 View

You should read https://msdn

You should read https://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx which explains the search order for DLL's in great detail.

Jim Dempsey

0 Kudos
Highlighted
1 View

As for DFLIB, see the table

As for DFLIB, see the table near the end of https://software.intel.com/en-us/articles/migrating-from-compaq-visual-fortran  Intel Visual Fortran still supplies the various "DF" modules (which do indeed stand for Digital Fortran).

Retired 12/31/2016
0 Kudos
Highlighted
New Contributor I
1 View

I sent a note off the Strand7

I sent a note off the Strand7 people asking for help -- ah the joys

0 Kudos