SNHook not working
- 
 THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED On 03/11/2012 at 17:37, xxxxxxxx wrote: User Information: 
 Cinema 4D Version: R14
 Platform: Windows ;
 Language(s) : C++ ;--------- 
 Hey Guys,I want to protect my plugin so I use the SNHook. 
 Cinema ask for serial, all fine. But if the serial is wrong and i click cancel, the plugin is still loaded?!?I tried it at R13 and my mate in R14. What do I wrong? //-----------------------------------------------------------------------------------------------------------------------------------------------------------// LONG RoomMakerSNHook::SNCheck(const String &c4dsn,const String &sn,LONG regdate,LONG curdate) //-----------------------------------------------------------------------------------------------------------------------------------------------------------// { return SN_WRONGNUMBER; }case C4DPL_INIT_SYS: if (!resource.Init()) return FALSE; // don't start plugin without resource // serial hook example; if used must be registered before PluginStart(), best in C4DPL_INIT_SYS if (!RegisterExampleSNHook()) return FALSE;Nothing, it still load my objectData !? 
- 
 THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED On 04/11/2012 at 01:29, xxxxxxxx wrote: Returning FALSE from PluginMessage() when C4DPL_INIT_SYS is sent does not prevent Cinema to call PluginStart(). Ask your SNHook subclass instance if it registration was successful. -Niklas 
- 
 THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED On 04/11/2012 at 03:51, xxxxxxxx wrote: My Subclass? 
- 
 THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED On 04/11/2012 at 05:33, xxxxxxxx wrote: RoomMakerSNHook is your subclass of the SNHook class, isn't it? LONG RoomMakerSNHook::SNCheck(const String &c4dsn,const String &sn,LONG regdate,LONG curdate) { Bool registration_successful = FALSE; /* ... */ this->success = registration_successful; if (!registration_successful) return SN_WRONGNUMBER; else return SN_OKAY; } Bool RoomMakerSNHook::Success() { return this->success; } /* ... */ RoomMakerSNHook snhook; Bool PluginStart() { if (!snhook->Success()) return TRUE; /* Register your plugins. */ } Bool PluginMessage(LONG id, void* ptr) { switch (id) { case C4DPL_INIT_SYS: /* Register SNHook and etc. */ break; } return TRUE; }That's how I was doin' it. Maybe I missed something obvious. But it works. Cheers, 
- 
 THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED On 05/11/2012 at 01:11, xxxxxxxx wrote: All right. Thank you. 