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
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Weird Problem

    Scheduled Pinned Locked Moved SDK Help
    3 Posts 0 Posters 256 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 21/09/2012 at 18:27, xxxxxxxx wrote:

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

      ---------
      Hey everyone,

      I am getting a strange error that is crashing C4D.

      When I run C4D through the debugger in VS 2010 I get the following exception in the file c4d_objectplugin.cpp.

      the exception happens at line 163 in that file:

      The exception is:

      Unhandled exception at 0x0e3d217a (PXG Elements.cdl) in CINEMA 4D Demo.exe: 0xC0000005: Access violation reading location 0x00000000.

      This is happening even on an object plugin with no new code added to it.  Just an empty skeleton.

      I am not sure why this is happening but any time I try to open any of my object plugins they crash c4d.

      Is this a bug in the API?  or am I doing something wrong?

      Here is the skeleton object code:

        
        
      #include "c4d.h"  
      #include "c4d_symbols.h"  
      #include "myplugin.h"  
        
      //PLUGIN ID  
      //=====================================//  
      "INTENTIONALLY REMOVED"     
        
      //CLASS  
      //=====================================//  
      class MyPlugin : public ObjectData{  
        public:  
        
            //Inherited Methods  
            //=====================================//  
        
            virtual Bool            Init(GeListNode *node);  
            virtual Bool            Message(GeListNode *node, LONG type, void *t_data);  
            static    NodeData        *Alloc(void) { return gNew MyPlugin; }  
            virtual DRAWRESULT        Draw(BaseObject* op, DRAWPASS drawpass, BaseDraw* bd, BaseDrawHelp* bh);  
            virtual BaseObject        *GetVirtualObjects(BaseObject* op, HierarchyHelp* hh);  
        
      };   
        
      //Initialize Default Settings  
      //=====================================//  
      Bool MyPlugin::Init(GeListNode *node){  
        
        GePrint("INIT");  
          
        return TRUE;  
      }  
        
      //Draw Visual Aides  
      //=====================================//  
      DRAWRESULT MyPlugin::Draw(BaseObject* op, DRAWPASS drawpass, BaseDraw* bd, BaseDrawHelp* bh)  
      {  
        GePrint("DRAW");  
        return DRAWRESULT_OK;  
      }  
        
      //Generate Virtual Objects  
      //=====================================//  
      BaseObject *MyPlugin::GetVirtualObjects(BaseObject* op, HierarchyHelp* hh){  
          
        GePrint("GVO");  
        return NULL;  
      }  
        
      //Checks messages from the plugin  
      //=====================================//  
      Bool MyPlugin::Message(GeListNode *node, LONG type, void *t_data){  
        
        GePrint("MSG");  
        return TRUE;  
      }  
        
        
      //REGISTER THE PLUGIN  
      //=====================================//  
      Bool RegisterMyPlugin(void){  
        String name=GeLoadString(IDS_MYPLUGIN); if (!name.Content()) return TRUE;  
        return RegisterObjectPlugin(ID_MYPLUGIN, name, OBJECT_GENERATOR, MyPlugin::Alloc,"my_plugin",AutoBitmap("my_plugin.tif"),0);  
      }  
        
      

      Any thoughts as to why this is happening.  It doesn't seem to matter which of my object plugins I try to run ,  it still crashes in R14.

      Thanks,

      Shawn

      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/09/2012 at 18:55, xxxxxxxx wrote:

        This is the function that throws the exception:

          
        Bool ObjectData::MoveHandle( BaseObject *op, BaseObject *undo, const Vector &mouse_pos, LONG hit_id, QUALIFIER qualifier, BaseDraw *bd )  
        {   
          Matrix mg = op->GetUpMg() * undo->GetMl();  
          HandleInfo info;  
          
          ((ObjectData* )undo->GetNodeData())->GetHandle(undo,hit_id,info);  
          SetHandle(op,hit_id,info.CalculateNewPosition(bd, mg, mouse_pos),info);  
          
          return TRUE;  
        }  
        
        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 25/09/2012 at 11:04, xxxxxxxx wrote:

          Are you sure that

            
          BaseObject *op  
          BaseObject *undo  
          BaseDraw *bd  
          

          are not NULL ?

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