Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Hi, I am working my way up from C4D R16, yes, I have all C4D Studio versions R13-R23, but I really want this to work. SDK = C4D R16 Here is the code:
/////// The customGUI's data class /////////////// class SliderData : public CustomGuiData { typedef CustomGuiData super; public: virtual Int32 GetId() { return LIBRAY_ID; } //Gets the ID# we defined at the top for this gizmo virtual CDialog *Alloc(const BaseContainer &settings) { // Next line compiler complains GeDialog *dlg = gNew MyCustomGui(settings, GetPlugin()); if (!dlg) return NULL; return dlg->Get(); } virtual void Free(CDialog *dlg, void *ud) { if (dlg) { // Old does not work //gDelete((GeDialog*&) dlg); //Free the memory used by allocating dlg //New - no complaints DeleteObj((GeDialog*&) dlg); //Free the memory used by allocating dlg } }
So my question is - how can I rewrite the line containing gNew, so that it works again? (Works fine in R14). I have tried with NewObj() and NewObjClear() - compiler still complains. -Ingvar
You create a custom GUI to display your custom data by deriving a class from iCustomGUI
class iMyCustomGUI : public iCustomGui ...
Then in you CustomGUIData derived class you implement the allocation by providing the derived iCustomGUI
CDialog* ReferencePointCustomGUI::Alloc(const BaseContainer& settings) { iMyCustomGUI* dlg = NewObjClear(iMyCustomGUI, settings, GetPlugin()); ...
you can find more details in the R20 SDK example customdata_customgui.cpp in folder cinema4dsdk\source\gui Works OK for R16 upto at least R21 (I have not used/tested in more recent versions)
Hi and thanks for this. It is my bad.. I didn't read the docs carefully enough / or did not understand the docs. Now this works! -Ingvar