module CZeroStringSpeed use CVoidEventHandlerCollection implicit none logical :: ZeroStringSpeed = .false. public type(VoidEventHandlerCollection) :: OnZeroStringSpeedChange private :: ZeroStringSpeed contains subroutine Set_ZeroStringSpeed(v) implicit none logical , intent(in) :: v #ifdef ExcludeExtraChanges if(ZeroStringSpeed == v) return #endif ZeroStringSpeed = v #ifdef deb print*, 'ZeroStringSpeed=', ZeroStringSpeed #endif call OnZeroStringSpeedChange%RunAll() end subroutine logical function Get_ZeroStringSpeed() implicit none Get_ZeroStringSpeed = ZeroStringSpeed !Get_ZeroStringSpeed = .true. end function subroutine Set_ZeroStringSpeed_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_ZeroStringSpeed_WN !DEC$ ATTRIBUTES ALIAS: 'Set_ZeroStringSpeed_WN' :: Set_ZeroStringSpeed_WN implicit none logical , intent(in) :: v call Set_ZeroStringSpeed(v) end subroutine logical function Get_ZeroStringSpeed_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_ZeroStringSpeed_WN !DEC$ ATTRIBUTES ALIAS: 'Get_ZeroStringSpeed_WN' :: Get_ZeroStringSpeed_WN implicit none Get_ZeroStringSpeed_WN = ZeroStringSpeed !Get_ZeroStringSpeed_WN = .true. end function subroutine Subscribe_ZeroStringSpeed() implicit none end subroutine end module CZeroStringSpeed