micromuni
12-30-2003, 01:27 PM
I created an unmanaged Subroutine as follows
subroutine fmssub1 (Ivar, Rvar)
implicit double precision (a-z)
dll_export :: fmsSub1 ! export subroutine name
integer, intent (in out) :: Ivar
!double , intent (in out) :: Rvar
! Declare additional variables (if needed)
! executable statements
ivar = 7171717
Rvar = 777.123456789
end subroutine fmssub1
This routine is being called from a Visual Basic.Net appliction and has referenced the variables as Integer and Double.
The integer variable returns the correct value, but the double
returns the value 777.12347... The double precision is lost.
If I change the Rvar to 77.123456789D0 then I receive the
correct value in return. Is this still a requirement to add the D0
to the end of a implicitly defined double precision variable?
Thanks.
subroutine fmssub1 (Ivar, Rvar)
implicit double precision (a-z)
dll_export :: fmsSub1 ! export subroutine name
integer, intent (in out) :: Ivar
!double , intent (in out) :: Rvar
! Declare additional variables (if needed)
! executable statements
ivar = 7171717
Rvar = 777.123456789
end subroutine fmssub1
This routine is being called from a Visual Basic.Net appliction and has referenced the variables as Integer and Double.
The integer variable returns the correct value, but the double
returns the value 777.12347... The double precision is lost.
If I change the Rvar to 77.123456789D0 then I receive the
correct value in return. Is this still a requirement to add the D0
to the end of a implicitly defined double precision variable?
Thanks.