String arrays?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 19/06/2007 at 18:05, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   R8.2-R10 
Platform:   Windows  ; Mac  ;  Mac OSX  ; 
Language(s) :     C++  ;

---------
Maybe it's me, but my plugin is crashing whenever I try to use an array of strings:

String* strings;
strings = bNew String[count];

*strings = String("xxx");
++strings;

This seems to cause grief. I've double checked the code and it seems on the up-and-up as far as cheching and setting. Is it possibly a problem of initialization of the strings in the array?

This is only a temporary array storing names before tag assignments are made using them. Any alternatives ideas if this doesn't pan out?

Thanks!

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 20/06/2007 at 08:25, xxxxxxxx wrote:

you are defining an array, but the contents of it are undefined. try this.

String* strings[count];
for(int x=0; x<count; x++)

= new String("xxx");

String *stringRef = strings[0];
++ stringRef;

remember to free the strings after.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 20/06/2007 at 08:43, xxxxxxxx wrote:

Actually I think that the problem has been found. I remembered to free the strings - but too early, forgetting that the individual group references were into that array.

Was trying to use a single array to cover all of the instances in the group tree and handling that got sticky. Instead, the code now does a prepass to count the number of strings needed for each group and allocates individual arrays per group. Each group frees its String array after processing. It now works as expected. 🙂

Thanks!