Replacement for - GeAllocNC [SOLVED]



  • On 05/03/2015 at 03:13, xxxxxxxx wrote:

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

    ---------
    Hi Everyone,

    I'm looking through this article at the moment:

    https://developers.maxon.net/?p=641

    - and I'm trying to figure out how to convert some of the code so I can get some steps closer to implementing my own licensing system. I see that there are some deprecated methods/classes in the code below and would like to know what would be the current alternative.

    The thing i'm looking at is:

    GeAllocNC

    It looks like I need to allocate some memory so I can pass a "Char \*" to the GetCString, thats the bit I can't quite figure out.

      
    `#include "c4d_md5.h"`
     
    `CHAR` `*ConvString(``const` `String& s, STRINGENCODING encoding=(STRINGENCODING)STRINGENCODING_7BIT)`
    `{`
    `  ``// Use STRINGENCODING_UTF8 as same default encoding as Python`
    `  ``LONG` `len = s.GetCStringLen(encoding);`
    `  ``CHAR` `*code = (``CHAR``* ) GeAllocNC(len+1);`
    `  ``if` `(!code) ``return` `NULL;`
     
    `  ``s.GetCString(code, len+1, encoding);`
    `  ``return` `code;`
    `}`
     
    `String GetMD5(``const` `String& p)`
    `{`
    `  ``DigestMD5 md5;`
    `  ``String key;`
    `  ``CHAR` `*c_str = NULL;`
    `  ``CHAR` `*c_tmp = NULL;`
     
    `  ``c_str = ConvString(p, STRINGENCODING_7BIT);`
    `  ``if` `(!c_str)`
    `    ``return` `String();`
     
    `  ``c_tmp = md5.get_md5hash(c_str, (unsigned ``long``)``strlen``(str));`
    `  ``if` `(!c_tmp)`
    `  ``{`
    `    ``GeFree(str);`
    `    ``return` `String();`
    `  ``}`
     
    `  ``key = c_tmp;`
    `  ``GeFree(c_str);`
    `  ``GeFree(c_tmp);`
    `  ``return` `key;`
    `}`
      
    
    

    Any help greatly appreciated.

    Thanks,

    Adam



  • On 05/03/2015 at 07:06, xxxxxxxx wrote:

    Hi Adam,

    GeAllocNC()/GeFree() have been renamed to NewMem()/DeleteMem() in R15.



  • On 05/03/2015 at 08:11, xxxxxxxx wrote:

    Amazing, thanks very much.


Log in to reply