Intel® Fortran Composer XE

Calling C in dynamically loaded DLL from Fortran

I have always been using this method to call functions in a dynamically loaded DLL:

        logical function Check_Security_DLL(itype) BIND(C, NAME="Check_Security_DLL")
          integer(4) :: itype [value]
        end function Check_Security_DLL

      pointer (p_CheckSecurity, Check_Security_DLL)

      if(.not. LibLoaded) then
        dll_handle = LoadLibrary('Tec1.dll'//char(0))
        if (dll_Handle /= 0) then
          i_CheckSecurity = GetProcAddress(dll_handle, "Check_Security_DLL"C)
          if (i_CheckSecurity /= 0) then

debugging sample project VB-Calls-Fortran.sln

I have built this sample project, and it runs fine, but I'm having limited success with the debugger. The instructions say...

To enable debugging of Fortran code called from Visual Basic, right click on project "VBCallsFortran" and then select Properties. In the left column, select Configuration Properties > Debugging. Check the box labeled "Enable unmanaged code debugging"

Stack Error Passing a string from VB.NET to a Fortran DLL


I am rewriting a large application moving from VB6 using FORTRAN executables, to VB.NET using FORTRAN DLL's.

I am able to move single values and arrays both to and from the DLL, but now have gotten stuck trying to push strings. 

Here is the relevant VB.NET code:

In the declarations section:

Visual Studio 2005 and Composer XE 2013

I have Visual Studio 2005 installed and am trying to upgrade my FORTRAN projects from Composer XE 2011 to Composer XE 2013.  Composer XE 2013 seemed to install properly but it does not appear under Options -> Intel Visual Fortran -> Compilers in Visual Studio.  How can I get Visual Studio to compile with Composer XE 2013?

Suscribirse a Intel® Fortran Composer XE