Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Recent
    • Tags
    • Users
    • Login

    SNHookClass::SNCheck() regdate

    Scheduled Pinned Locked Moved SDK Help
    10 Posts 0 Posters 765 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      Helper
      last edited by

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

      On 31/07/2008 at 10:17, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   R10.5 
      Platform:      Mac OSX  ; 
      Language(s) :     C++  ;

      ---------
      Here's one for you. I have a MacOS X 10.5, C4D R10.5 user who can't get my plugin's serial number registered ("Wrong Serial"). Unlike the other times, this isn't 'direct' user error for sure. So, I added a couple extra MessageDialog() responses to error conditions. Well, it turns out that 'regdate' is returning the error.

      LONG regdate
      The date of the registration, or 0 if the serial was entered for the first time.

      The error can only occur if regdate is 0. Okay, it's 0 the first time the serial is entered. But, for this user, it continues to remain 0 whereas it should be set to the registration date (in days) after successful entry of the serial number.

      Any ideas???

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

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

        On 19/11/2009 at 04:22, xxxxxxxx wrote:

        I'm currently experiencing the same - did you find the source of the problem or any other solution to it?

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

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

          On 19/11/2009 at 07:20, xxxxxxxx wrote:

          I removed this code at the top of my SNCheck() function:

          if (!regdate) return SN_WRONGNUMBER;

          Instead, I only check this for the demo serial number and return SN_OKAY.

          1 Reply Last reply Reply Quote 0
          • H Offline
            Helper
            last edited by

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

            On 20/11/2009 at 03:50, xxxxxxxx wrote:

            But don't you give up the e.g. 14 day restriction this way? As far as I understood it, the regdate is necessary to determine the remaining time as in curdate-regdate.

            When I get 0 for regdate and return SN_OKAY all the time, the plugin becomes useable unlimited in time so I need regdate to change it's value after the first usage which is not the case.

            1 Reply Last reply Reply Quote 0
            • H Offline
              Helper
              last edited by

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

              On 20/11/2009 at 09:38, xxxxxxxx wrote:

              regdate is only 0 the first time a serial number is entered or while none has been entered.

              If none has been entered, my code doesn't go into the demo check.

                      // - SNHookClass.SNCheck   
                        //*---------------------------------------------------------------------------*   
                        LONG SNCheck(const String& c4dsn, const String& sn, LONG regdate, LONG curdate)   
                        //*---------------------------------------------------------------------------*   
                        {   
                             if (!sn.Content())     return SN_WRONGNUMBER;   
                
                             // Demo mode (14 day trial)   
                             if (sn.GetLength() == 4L)   
                             {   
                                  // Case-insensitive serial number 'demo'   
                                  if (sn.LexCompare("DEMO"))     return SN_WRONGNUMBER;   
                
                                  if (!regdate)   
                                  {   
                                       mode =     1;   
                                       return SN_OKAY;   
                                  }   
                
                                  // Calculate timeout of Demo or Beta modes   
                                  LONG timeout =          14L - (curdate - regdate);   
                                  if (timeout < 0L)     return SN_EXPIRED;   
                                  time =                    timeout;   
                                  mode =                    1;   
                                  if (timeout <= 14L)     return SN_EXPIRE_14 - timeout;   
                                  return SN_OKAY;   
                             }   
              
              1 Reply Last reply Reply Quote 0
              • H Offline
                Helper
                last edited by

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

                On 21/11/2009 at 08:30, xxxxxxxx wrote:

                I think I misunderstood your initial post then

                Originally posted by xxxxxxxx

                Okay, it's 0 the first time the serial is entered. But, for this user, it continues to remain 0 whereas it should be set to the registration date (in days) after successful entry of the serial number.

                I'm having this effect even with if(!regdate) return SN_OKAY;
                The user enters DEMO and it's not only 0 the first time but although all registering obviously occured it keeps 0 causing the effect of unlimited usage.

                I also don't allow entering nothing i.e. I'm returning SN_WRONGNUMBER too if sn contains an empty string.

                1 Reply Last reply Reply Quote 0
                • H Offline
                  Helper
                  last edited by

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

                  On 21/11/2009 at 16:27, xxxxxxxx wrote:

                  I see. I think the problem was that the user's information was not being stored correctly (in the Registry for Windows or wherever MacOS stores this information). It may be Vista/Win7 or a faulty Registtry if this is a Windows user. I think for MacOS X it may be a permissions problem. Not sure how this was resolved (if ever).

                  1 Reply Last reply Reply Quote 0
                  • H Offline
                    Helper
                    last edited by

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

                    On 22/11/2009 at 01:27, xxxxxxxx wrote:

                    Ok thanks, I will do some investigation work about that. Thanks for pointing me the direction

                    1 Reply Last reply Reply Quote 0
                    • H Offline
                      Helper
                      last edited by

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

                      On 14/01/2010 at 09:30, xxxxxxxx wrote:

                      I have the same problem! The regdate is fixed to 0 and didn't change!
                      Any solutions found?

                      1 Reply Last reply Reply Quote 0
                      • H Offline
                        Helper
                        last edited by

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

                        On 22/01/2010 at 03:17, xxxxxxxx wrote:

                        Not really. If I remember it right in our case it seemed that once you return SN_EXPIRED at the same date (day) of first registering the plugin (setting regdate) it somehow got stuck to 0.

                        Also sometimes there indeed was a Console message from C4D about not being able to write to the registry which obviously was not related to the case above though and appeared neither predictable nor reproduceable.

                        But the general issue that in some not-fully-understandable cases regdate stays fixed to 0 has driven us to the decision not to use SNHook at all and we further stick to the classic own license dialog and Read/WritePluginInfo()..

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post