THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 06/10/2003 at 14:26, xxxxxxxx wrote:
Cinema 4D Version: 8.100
Platform: Windows ;
Language(s) : C++ ;
I don't know why, but the plugin no longer shows up under File->Export. The location of the CDL has not changed. The build type has not changed. The only thing I did was include a custom Vector class which I commonly use for per-vertex normalization routines, and a few static non-member functions to do refactoring extract style coding.
I am using testing plugin id's, and have tried the full range of 1000001 to 1000010. No avail. Im quite frustrated about this since I just put in a lot of time writing this exporter and now im held back. Im sure its somthing simple that I am overlooking.
What im looking for is a list of possible causes that would make the plug-in not load. Even though I see it load in the splash screen "loading ...." at the bottom. But it simply does not appear. So like I said, a list of possible causes would be a great help. I really don't want to start ripping it apart, if I can avoid that, it would be great.
Thanks in Advance,
On 06/10/2003 at 14:27, xxxxxxxx wrote:
Also, this is based on working examples of the STL filter that came with the SDK. I've been building upon that.
On 06/10/2003 at 14:36, xxxxxxxx wrote:
Okay. I gutted it. It is caused by one of two things. And most likely it is my inclusion of my custom vector library. Probably in the fact that are causing DLL conflicts or mangling that is confusing the plugin manager inside C4D. I doubht using the STL has done it, but I removed all references to that and it did indeed show up again. But im leaning more towards my UUVector class. Which is a stand-alone class, it is real simple. I guess i'll have to use the Vector class included, and re-write normalization code if needed.
I'll post more as I know more.
On 06/10/2003 at 14:57, xxxxxxxx wrote:
Ok. Its all caused by doing one single thing.
Yes I know its a sin, but I am in a hurry to finish this part, so I used global variables... Ieeee! Anyways, by declaring a global variable of type std::list<MyStruct> it causes the plugin to stop working, period, that alone. So im going to encapsulate it (which is what I should have done in the first place)... but I had no idea declaring a global would have caused such trouble.
I would like to know why that happends. The MMORPG server I wrote uses a doubly loading DLL system so we can update the game while its running without restarting the game world. I have all kinds of re-entrance, intra-process, and other issues to deal with and i've NEVER had the issue of loading a DLL with globals (of any kind) delcared that caused issues. So if this is a new thing that I am not aware of i'd like to know... C++ is a broad and excellent language and even though I've been doing it for quite some time, I enjoy learning about the little things here and there that make for interesting beer conversations with other coders.
On 06/10/2003 at 15:09, xxxxxxxx wrote:
Okay so I was wrong again. It has nothing to do with the scope of declaration, its the fact that im using the Standard Template Library. If I declare a std::list anywhere, it kills the plug-in. That is a MAJOR PROBLEM. Im going to have to really hack somthing together...
Does anyone have any idea why I can't declare a STL list ? Any info would be greatly appreciated.
On 06/10/2003 at 15:10, xxxxxxxx wrote:
Just to be clear, since that last post was a little ambiguous. I can declare a std::list, but if i do so, I wont be able to use the plug-in within C4D. Its causing some sort of conflict.
On 12/10/2003 at 01:28, xxxxxxxx wrote:
Please see this thread about the problem: http://www.plugincafe.com/forum/display_topic_threads.asp?ForumID=4&TopicID=569
In 8.2 the changes suggested in the thread can be implemented simply by setting the __WINCRTINIT define of the API project. (A recompilation is necessary, but should occur automatically.)
The global variables will work fine on the PC as well. (Your STL library probably uses some global or static variables internally.)