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

    Access Violation Errors on DLL

    SDK Help
    0
    4
    670
    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 21/01/2003 at 11:40, xxxxxxxx wrote:

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

      ---------
      Okay, back on track, using the STL example as a basis of the exporter plugin I'm writing, I got my plugin compiling through VC6. Basically I am writing the export plugin that uses a our file format .lib to generate a file that can read into our software. I am having to use windows.h and winsock2.h
      Here's the situation:
      I compile the plugin using headers from my API, my .lib files and the framework from the STL example, the plugin compiles, loads, gets registed and the plugin is available via the "export" menu.
      However, if I only create a new object using my .api, the plugin compiles fine, but doesn't load. If I run C4D under debug, I get access violation 0x00005 (whatever that means).  This error occurrs just when C4D tries to load the plugin, not executing any export code, not running any of our API code.
      I run the compiled plugins through depends.exe, here's the list of dependent dlls that are with my code:
      ADVAPI32.DLL
      KERNEL32.DLL
      MSVCRT.DLL
      NTDLL.DLL
      RPCRT4.DLL
      WS2HELP.DLL
      WS2_32.DLL
      Here's the Depends .dll list from just the STL code:
      KERNEL32.DLL
      NTDLL.DLL

      Obviously with using my API, i'm invoking more windows-ish subsystems, but the place in the compiled plugin code where i'm just newing up an object isn't being executed on launch. so there isn't anything actually being done. It feels like with the added dll depends, C4D can't find the DLL entry point, or it doesnt like the other DLL depends. Our top developer over here is completely stumped on this as well..
      First comment that you could say is that it must be a bad api. however, our API is the same API that has been used to generate plugins for Deep Exploration, 3d Studio MAX, Maya, and Lighwave.
       
      -eric morin

      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 21/01/2003 at 12:24, xxxxxxxx wrote:

        When it loads you plugin in the debugger, what does the console output, is it something like:
        Loaded 'C:\WINNT\system32\netapi32.dll', no matching symbolic information found.
        First-chance exception in CINEMA_4D.exe (SHAVE.CDL) : 0xC0000005: Access Violation.
        (this is an example btw) this one turned out to be the the libs ws2_32.lib rpcrt4.lib netapi32.lib (last dll (netapi32.dll) loaded was causing the crash), which had to be removed, they were just incompatible. Windows can behave rather badly unless you are very careful. It could well be winsock2.h, it is best to keep any Windows DLLs down to a bare minimum.

        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 21/01/2003 at 16:14, xxxxxxxx wrote:

          Well the last thing the console says in something like loaded: C:\\yayayaya\MyExport.cdl' no matching symbolic info found.
          dosen't mention any windows dlls.
          Experiment 1,
          I compile a working (and loading) version of the plugin and run a process viewer on C4d, all the dll dependencies, and the static dll dependecies needed by the non-working plugin are loaded and not crashing.. must be a dynamic dependency. still checking.........

          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 22/01/2003 at 13:32, xxxxxxxx wrote:

            removed all functions that require winsock2.h and still getting the access violation
            byw, the stack call looks like:
            EXPORTAMX! operator new (unsigned int )
            std::_Allocator( int, char * )

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