Marshalling ArrayList

S

Saad

Hi,

I have a struct as follows:

[StructLayout(LayoutKind::Sequential,CharSet=CharSet::Ansi)]
public __gc struct STTemp
{
public:
int someint;
System::Collections::ArrayList* arrTemp;
};

Now, i want to marshal this strcuture so that the arraylist gets
marshalled properly...
But i dont understand how to use the "MarshalAl" attribute in the case
of arraylist....

Any help will be appreciated...

Thanks in advance...
Saad.
 
P

Pavel Minaev

Hi,

I have a struct as follows:

[StructLayout(LayoutKind::Sequential,CharSet=CharSet::Ansi)]
public __gc struct STTemp
{
public:
int someint;
System::Collections::ArrayList* arrTemp;

};

Now, i want to marshal this strcuture so that the arraylist gets
marshalled properly...

What exactly do you mean by "marshalled properly"? How do you want it
to be marshalled?
 
S

Saad

I have a struct as follows:
[StructLayout(LayoutKind::Sequential,CharSet=CharSet::Ansi)]
public __gc struct STTemp
{
public:
int someint;
System::Collections::ArrayList* arrTemp;

Now, i want to marshal this strcuture so that thearraylistgets
marshalled properly...

What exactly do you mean by "marshalled properly"? How do you want it
to be marshalled?

Hi Pavel,

I have a vector at the unmanaged end....and corresponding to that i
have taken an arraylist here...in managed world...
So, now i would like to somehow, marshal the arraylist ( which holds
objects of another structure ) to the unmanaged vector class....

Please let me know how can i achieve this? Through custom marshaller ?

Saad
 
P

Pavel Minaev

Hi,
I have a struct as follows:
[StructLayout(LayoutKind::Sequential,CharSet=CharSet::Ansi)]
public __gc struct STTemp
{
public:
int someint;
System::Collections::ArrayList* arrTemp;
};
Now, i want to marshal this strcuture so that thearraylistgets
marshalled properly...
What exactly do you mean by "marshalled properly"? How do you want it
to be marshalled?

Hi Pavel,

I have a vector at the unmanaged end....and corresponding to that i
have taken an arraylist here...in managed world...
So, now i would like to somehow, marshal the arraylist ( which holds
objects of another structure ) to the unmanaged vector class....

I assume that by vector you mean std::vector here; if so, then there's
no way you can use the standard .NET P/Invoke marshalling to get it -
not with ArrayList, not with plain arrays, etc.

I have to ask, though - since you're using Managed C++, why don't you
just directly invoke those C++ APIs from your code?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top