cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Object toolkit

afloquet-2
Newbie

Object toolkit

How to create a sequence of costum elements such a ProArray ?

4 REPLIES 4

Re: Object toolkit

Like this:

  ProWstring *w_array;

  status = ProArrayAlloc(0, sizeof(ProWstring), 1, (ProArray*)&w_array);

 

#include <ProArray.h>
ProErrorProArrayAlloc(
int n_objs
/* (In)
The initial number of objects allocated in the array.
*/
int obj_size
/* (In)
The size of each object in the array
*/
int reallocation_size
/* (In)
The minimum number of objects added or deleted if Creo Parametric TOOLKIT resizes the array, e.g. on a call to ProArrayObjectAdd.
*/
ProArray* p_array
/* (Out)
The allocated array
*/
)

After that you can add elements by:

  status = ProArrayObjectAdd(w_array, PRO_VALUE_UNUSED, 1, p_object );

Don't forget to free it at the end of the life cycle.

  status = ProArrayFree((ProArray*)&w_array);

Br,

Eike

Re: Object toolkit

Thank for you answer. but I want do the reverse.

How to create a sequence of custom objects of my class  ?

Re: Object toolkit

easiest way is to use std. c++ ways like vectors, maps, such kind of stuff : )

If you need it as a "Creo like" way I don't know ^.^ I was never in need of that.

But I think you can use an xanysequence. As alternative you can use xlongsequence and fill it with pointers to the objects you have allocated. So I'm not so sure about the size, if it didn't fit for pointers you could use xrealsequence, cause xreal is defined as a "real C++" double, that should be 8Byte --> 64 Bit and so same size as your pointer.

Br,

Eike

Re: Object toolkit

Hi all,

Alain,

Eike's answer is the correct one. You are dealing with the usual serialization/deserialization issues when packing your classes into ProArray. The easiest way is to create a c++ std container for your custom class and store pointers to the container elements in ProArray - this is very similar technique as Pro/Toolkit ProNote-Text handling...

Feliks.

Announcements