I have long used VB structures to implement complex numbers in VB which can be passed to and from Fortran subs. This has always worked fine in the past. Recently, since upgrading to VS2013 I find that when debugging the code I cannot view the local variables in the Fortran code. The debugger tells me that all the complex variables are "CXX0017: Error: symbol "xx" not found" or "Cxx068: Error: type not supported". Has something changed in VS2013, or in IVF?
For what it is worth the code seems to work fine, I just can't view the variables. Hence when the code is not working fine it is virtually impossible to debug.
I have example code if this helps.
Public Class Form1
Friend test(1) As Complex
Public Sub New()
Dim result As Double
' This call is required by the designer.
test(0).Real = 1.0
test(0).Imag = 0.0
test(1).Real = 0.0
test(1).Imag = 1.0
' Add any initialization after the InitializeComponent() call.
subroutine Dll1( test, result_ )
! Expose subroutine Dll1 to users of this DLL
!DEC$ ATTRIBUTES DLLEXPORT::Dll1
!DEC$ ATTRIBUTES ALIAS:'Dll1' :: Dll1
!DEC$ ATTRIBUTES REFERENCE :: test
!DEC$ ATTRIBUTES Value :: Result_
temp = test(0) * test(1)
result_ = real(temp)
end subroutine Dll1
Option Strict Off
Option Explicit On
'Public Structure Complex
Public Real As Double
Public Imag As Double
Public Overloads Shared Operator *(ByVal a As Double, b As Complex) As Complex
Dim c As Complex
c.Real = a * b.Real
c.Imag = a * b.Imag
Declare Sub Dll1 Lib "Dll1.dll" ( ByRef test As Complex, ByVal result As Double)