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).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/04/2004 at 04:33, xxxxxxxx wrote:
User Information: Cinema 4D Version: 8.207 Platform: Windows ; Language(s) : C++ ;
--------- I'm completely helpless, I hope one of you guys knows the solution.... I want to do a custom gui derived from CustomGuiData. The SDK says: virtual CDialog* Alloc(const BaseContainer &settings) { T* dlg = gNew T(settings, GetPlugin()); if (!dlg) return NULL; CDialog *cdlg = dlg->Get(); if (!cdlg) return NULL; return cdlg; } In the above
T
stands for a type derived from _<_a class=link href= "mk:@msitstore:d:\maxon\cinema_4d_r8\r8sdkchm2003-10-02.chm::/pages/c4d_gui/class_icustomgui458.html"_>_SPAN title=class iCustomGui : public SubDialog"> color=#606420iCustomGui/SPAN. Ok, so I build a class iTreeViewGui : public iCustomGui, overwrite the virtual functions. When I try to compile, an error occurs at the line above in the Alloc with the gNew: error C2660: 'iTreeViewGui::iTreeViewGui' : Function does not accept 2 parameters Ok...so I tried to define a constructor with 2 parameters within iTreeViewGui, and within it just call the 2 parameter-constructor of iCustomGui. Then the error error C2512: 'iCustomGui' : no standart constructor available occurs. Fighting with it since about 2 hours now, and I'm really at the end of my wisdom...anyone out there who knows what I'm doing wrong????
On 05/04/2004 at 04:48, xxxxxxxx wrote:
Well....now I can compile it, but I'm definitely unhappy about my solution: I opened c4d_gui.h and just gave the iCustomGui the thing what was missing....a standart constructor: iCustomGui(){}; That can't be the intended way to do it, right? What is the solution for it? Or am I the first man on earth deriving from iCustomGui? I'm really curious what the solution is......
On 06/04/2004 at 00:43, xxxxxxxx wrote:
The correct way to do it is: class MyGui : public iCustomGui { public: MyGui(const BaseContainer &settings,CUSTOMGUIPLUGIN *plugin); } MyGui::MyGui(const BaseContainer &settings,CUSTOMGUIPLUGIN *plugin) : icustomGui(settings,plugin) { } Please note, that this code is not tested yet, but it sounds logical, thanks to Tilo!
On 06/04/2004 at 01:02, xxxxxxxx wrote:
It works, just note the typing error of iCustomGui, in the last part I accidently wrote it with a small C.....