Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware 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
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Colliding ID

    SDK Help
    0
    3
    314
    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
      Helper
      last edited by

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

      On 24/01/2008 at 03:08, xxxxxxxx wrote:

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

      ---------
      Hello,
      Here is my problem :
      I'm tying to write a plugin object (objectData). All is normal, I put my compiled file in the plugin directory and that work. But if I want to write a second plugin, ID collides :

      _<_img border="0" src= "http://ykoeth.free.fr/fc4d/console_id.jpg"_>_

      The main.cpp of the plugin1 :

      > _
      > // Starts the plugin registration
      >
      > #include "c4d.h"
      >
      >
      > // forward declarations
      > Bool RegisterPlugin1(void);
      >
      >
      > Bool PluginStart(void)
      > {
      >      
      >      if (!RegisterPlugin1()) return FALSE;
      >      return TRUE;
      > }
      >
      > void PluginEnd(void)
      > {
      > }
      >
      > Bool PluginMessage(LONG id, void *data)
      > {
      >      //use the following lines to set a plugin priority
      >      //
      >      switch (id)
      >      {
      >           case C4DPL_INIT_SYS:
      >                if (!resource.Init()) return FALSE; // don't start plugin without resource
      >                return TRUE;
      >
      >           case C4DMSG_PRIORITY:
      >                return TRUE;
      >
      >      }
      >
      >      return FALSE;
      > }
      >
      > _

      plugin1.cpp :

      > _
      > #include "c4d.h"
      >
      > class Plugin1 : public ObjectData
      > {
      >      
      >      public:
      >           virtual Bool Init(GeListNode *node);
      >
      >           virtual Bool Message                    (GeListNode *node, LONG type, void *data);
      >           virtual BaseObject* GetVirtualObjects(BaseObject* op, HierarchyHelp* hh);
      >           static NodeData *Alloc(void) { return gNew Plugin1; }
      > };
      >
      > Bool Plugin1::Message(GeListNode *node, LONG type, void *data)
      > {
      >      return TRUE;
      > }
      >
      >
      > Bool Plugin1::Init(GeListNode *node)
      > {     
      >      return TRUE;
      > }
      >
      > BaseObject* Plugin1::GetVirtualObjects(BaseObject* op, HierarchyHelp* hh)
      > {
      >      
      >      BaseObject *ret = NULL;
      >      return ret;
      > }
      > // be sure to use a unique ID obtained from www.plugincafe.com
      > #define ID_PLUGIN1 1000004
      >
      > Bool RegisterPlugin1(void)
      > {
      >      return RegisterObjectPlugin(ID_PLUGIN1,"plugin1 name",OBJECT_GENERATOR,Plugin1::Alloc,"plugin1",NULL,0);
      > }
      >
      > _

      The main.cpp of the plugin2 :

      > _
      > // Starts the plugin registration
      >
      > #include "c4d.h"
      >
      >
      > // forward declarations
      > Bool RegisterPlugin2(void);
      >
      >
      > Bool PluginStart(void)
      > {
      >      
      >      if (!RegisterPlugin2()) return FALSE;
      >      return TRUE;
      > }
      >
      > void PluginEnd(void)
      > {
      > }
      >
      > Bool PluginMessage(LONG id, void *data)
      > {
      >      //use the following lines to set a plugin priority
      >      //
      >      switch (id)
      >      {
      >           case C4DPL_INIT_SYS:
      >                if (!resource.Init()) return FALSE; // don't start plugin without resource
      >                return TRUE;
      >
      >           case C4DMSG_PRIORITY:
      >                return TRUE;
      >
      >      }
      >
      >      return FALSE;
      > }
      >
      > _

      plugin2.cpp :

      > _
      > #include "c4d.h"
      >
      > class Plugin2 : public ObjectData
      > {
      >      
      >      public:
      >           virtual Bool Init(GeListNode *node);
      >
      >           virtual Bool Message                    (GeListNode *node, LONG type, void *data);
      >           virtual BaseObject* GetVirtualObjects(BaseObject* op, HierarchyHelp* hh);
      >           static NodeData *Alloc(void) { return gNew Plugin2; }
      > };
      >
      > Bool Plugin2::Message(GeListNode *node, LONG type, void *data)
      > {
      >      return TRUE;
      > }
      >
      >
      > Bool Plugin2::Init(GeListNode *node)
      > {     
      >      return TRUE;
      > }
      >
      > BaseObject* Plugin2::GetVirtualObjects(BaseObject* op, HierarchyHelp* hh)
      > {
      >      
      >      BaseObject *ret = NULL;
      >      return ret;
      > }
      > // be sure to use a unique ID obtained from www.plugincafe.com
      > #define ID_PLUGIN2 1000006
      >
      > Bool RegisterPlugin2(void)
      > {
      >      return RegisterObjectPlugin(ID_PLUGIN2,"plugin2 name",OBJECT_GENERATOR,Plugin2::Alloc,"plugin2",NULL,0);
      > }
      >
      > _

      I don't why because IDs are different.
      I hope somebody have the solution,
      Thank you.

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

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

        On 24/01/2008 at 08:15, xxxxxxxx wrote:

        Or if somebody can give me a file with the source code of a simple plugin (or two simples plugins) like mine but as you would have coded it. Thank

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

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

          On 24/01/2008 at 08:27, xxxxxxxx wrote:

          Sorry, I found alone. It was the products names which were the sames.
          The solution : Xcode>Project>Project Settings>Product name.
          Sorry for this inconvenience.

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