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

    PluginTag GetIcon and a strange NIL-error

    SDK Help
    0
    5
    463
    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 15/11/2003 at 18:13, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   8.207 
      Platform:   Windows  ;   
      Language(s) :   C.O.F.F.E.E  ;

      ---------
      Hello.
      I'm totally new to COFFEE-programming. I do have a solid knowledge of C++ and Java, so coding per se isn't a problem - but my experience with the C4D coding environment is absolutely zilch though.
      Having said that, here's the beef:
      I've got stuck on two very silly problems. I'm almost done coding a small plugin using the tagplugin.cof framework as a template, and everything has been going surprisingly smooth... BUT
      1. Using the GetIcon() doesn't work out as expected. I copied some code from the main() in compiler.cof to load and setup the bitmap, using the suggested PLUGINTAG_ICON_SIZE constant and temporarily an icon from DiTools since I know it displays properly (to avoid any simple image format problems) - but the icon just turns out as a black square in the OM.
      2. When my plugin initialises during C4D startup, the console reports "(7) NIL is not a function". This also happens when I add the tag to an object. It continues to operate properly though, so it doesn't seem to cause any damage. If I reload the plugin from the console, this error does not occur. I suspect there is some function definition or overload missing somewhere, but I can't figure it out.
      So, if anyone has any suggestions how to solve these problems, I'd appreciate it. Given my brief history as a coffee programmer, I'm pretty sure it's mainly a question of stupid newbie mistakes. I have scanned the SDK intensely but only drawn blanks.
      Thanks in advance!

      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 16/11/2003 at 11:19, xxxxxxxx wrote:

        Don't know about 2 -- perhaps you've misspelt the name of a member function or something..?

        This seems to work for icons though:

          
        var map;  
          
        MyPluginTag::GetIcon()  
        {  
        return map;  
        }  
          
          
        main()  
        {  
        map = new(BaseBitmap,24,24);  
          
        var file = GeGetRootFilename(); if (!file) return;  
        file->RemoveLast();  
        file->AddLast("ico.tif");    // <- put your filename here  
          
        map->Load(file);  
        ...  
        
        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 16/11/2003 at 14:26, xxxxxxxx wrote:

          Thanks, philronan. Problem 2 went away by itself when I decided to rewrite the code again from scratch - so whatever it was, it is no more.
          The icon code is exactly what I've been using... Have to give it another shot. Might be something dumb like a path error or something like that.

          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 16/11/2003 at 15:02, xxxxxxxx wrote:

            Make sure "map" is defined as a global variable (else the garbage routine might throw it away), and is initialized with suitable dimensions (e.g., new(BaseBitmap,24,24) )

            Also, I seem to remember once having some trouble with LZW-compressed TIFF files saved from Photoshop (..or maybe I just imagined it!). Anyway, try saving the icon as an uncompressed TIFF if nothing else works.

            Good luck

            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 17/11/2003 at 02:11, xxxxxxxx wrote:

              I've solved it now, Phil... It was simply a matter of calling Register() at the right place, i.e. AFTER all the bitmap handling was completed. The first version I used (from Compiler.cof) called Register() earlier, but allthough that seems to work with a menu plugin, it appears not to do so with a tag plugin.
              Anyway, it works just fine now. Thanks for your help!

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