module CStringPressure use CVoidEventHandlerCollection implicit none real :: StringPressure = 0 public type(VoidEventHandlerCollection) :: OnStringPressureChange private :: StringPressure contains subroutine Set_StringPressure(v) implicit none real , intent(in) :: v #ifdef ExcludeExtraChanges if(StringPressure == v) return #endif StringPressure = v #ifdef deb print*, 'StringPressure=', StringPressure #endif call OnStringPressureChange%RunAll() end subroutine real function Get_StringPressure() implicit none Get_StringPressure = StringPressure end function subroutine Set_StringPressure_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_StringPressure_WN !DEC$ ATTRIBUTES ALIAS: 'Set_StringPressure_WN' :: Set_StringPressure_WN implicit none real , intent(in) :: v call Set_StringPressure(v) end subroutine real function Get_StringPressure_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_StringPressure_WN !DEC$ ATTRIBUTES ALIAS: 'Get_StringPressure_WN' :: Get_StringPressure_WN implicit none Get_StringPressure_WN = StringPressure end function subroutine Subscribe_StringPressure() implicit none end subroutine end module CStringPressure