CheckValueRanges()?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 02/01/2005 at 21:27, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   8.012 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    Okay, strangeness.

    Here's my code, called from iPDialog::Command() :

      
    // CMD: Set FPS  
    void iPDialog::SetFPS(LONG value)  
    {  
         //if ((value < FPS_MIN) || (value > FPS_MAX))   
         if (CheckValueRanges()) SetLong(IP_SET_FPS, settings.GetFPS(), FPS_MIN, FPS_MAX, 1);  
         else settings.SetFPS(value);  
    }  
    

    1. Note that checking for the opposite return works (TRUE = bad value, FALSE = good value). This is not what the documentation says. Maybe I'm not implementing it correctly - how should I know since there are no examples or explanations.

    2. When there is a bad value in this case, it doesn't set it to the previous value (settings.GetFPS()), it makes it a part of the value (501 > 50, 600 > 60, etc.).

    I could use my own check (commented out), but can't get the gadget to update and cannot find a proper method/message to do this. Appreciate some explanations.

    Thanks,
    Robert



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 03/01/2005 at 00:41, xxxxxxxx wrote:

    Figured it out:

      
    settings.SetFPS(value);  
    SetLong(IP_SET_FPS, settings.GetFPS(), FPS_MIN, FPS_MAX, 1);  
    

    The value is always within bounds, so I just need to grab it and then set the EditNumber gadget to show the bounded value instead of the typed-in one.

    Robert


Log in to reply