THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 19/12/2008 at 07:19, xxxxxxxx wrote:
strange, this seems to work fine here:
> \> #define ID_ASYNCTEST 1000955 \> \> #include "c4d.h" \> #include "c4d_symbols.h" \> \> \> class AsyncDialog : public GeDialog \> { \> private: \> C4DGadget \*gadget; \> \> public: \> AsyncDialog(void); \> virtual Bool CreateLayout(void); \> \> C4DGadget\* GetGadget() { return gadget; } \> }; \> \> AsyncDialog::AsyncDialog(void) \> { \> gadget = NULL; \> } \> \> Bool AsyncDialog::CreateLayout(void) \> { \> // first call the parent instance \> Bool res = GeDialog::CreateLayout(); \> \> SetTitle("GuiDemo C++"); \> \> GroupBegin(0,BFH_SCALEFIT,0,0,"",0); \> { \> gadget = AddStaticText(1000,BFH_SCALEFIT,0,0,String("hello"),0); \> } \> GroupEnd(); \> \> return res; \> } \> \> \> class AsyncTest : public CommandData \> { \> private: \> AsyncDialog dlg; \> public: \> virtual Bool Execute(BaseDocument \*doc); \> virtual Bool RestoreLayout(void \*secret); \> }; \> \> Bool AsyncTest::Execute(BaseDocument \*doc) \> { \> dlg.Open(TRUE,ID_ASYNCTEST,-1,-1); \> \> C4DGadget \*gadget = NULL; \> gadget = dlg.GetGadget(); \> \> if(gadget) \> { \> LONG i=0; \> \> for(i=0; i<10000; i++) \> { \> dlg.SetString(gadget, "number: "+LongToString(i)); \> } \> } \> \> return TRUE; \> } \> \> Bool AsyncTest::RestoreLayout(void \*secret) \> { \> return dlg.RestoreLayout(ID_ASYNCTEST,0,secret); \> } \> \> \> Bool RegisterAsyncTest(void) \> { \> // decide by name if the plugin shall be registered - just for user convenience \> String name=GeLoadString(IDS_ASYNCTEST); if (!name.Content()) return TRUE; \> return RegisterCommandPlugin(ID_ASYNCTEST,name,0,NULL,String("C++ SDK Menu Test Plugin"),gNew AsyncTest); \> } \>
cheers,
Matthias