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).
On 30/05/2013 at 05:19, xxxxxxxx wrote:
User Information: Cinema 4D Version: R13 Platform: Windows ; Language(s) : C++ ; XPRESSO ;
--------- Hello,
I'm trying to make my custom data type and want to convert a general object (ID_GV_VALUE_TYPE_GENERAL_OBJECT) to the my type. I'm following the example of cinema4dsdk sample project, but I'm getting an AccessViolation crash in ConvertFromGv method.
The example in cinema4dsdk defines a magic structure GvObject and uses it to cast the src parameter of ConvertFromGv method. This is the code:
struct GvObject { BaseList2D* object; LONG type; };
virtual GvError ConvertFromGv(LONG type,const void *const src,LONG cpu_id,CustomDataType *dst) { iExampleDataType *d = (iExampleDataType* )dst; switch (type) { ... case 400006000: // ID_GV_VALUE_TYPE_GENERAL_OBJECT { GvObject *s = &((GvObject* )src)[cpu_id]; if (s->object) d->sdata = s->object->GetName(); else d->sdata = "<<no object>>";
d->ldata = -1;
return GV_CALC_ERR_NONE; } } ... }
It seems that this is not the right structure of the src void pointer. Does anybody know what is the structure of the src pointer in case of ID_GV_VALUE_TYPE_GENERAL_OBJECT type (for Cinema4D R13 version)?
Thank you.