I want to be able to use unmanaged C++ classes from .NET compact
framework (on pocket PC)

Here are the approaches I have tried (and which I couldn't get to
work).

1) Include the unmanaged C++ classes in a managed C++ project
Problem: .NET CF doesn't support mixed mode apps

2) Convert the C++ classes to managed C++
Problem: The unmanaged C++ classes require STL and C runtime code
which is
not available to managed C++ classes

3) Put the classes into a DLL, compile into native Pocket PC code
Couldn't work out how to get *classes* from DLL? Accessing static
functions
seems fairly straight forward. What about classes though?

Any ideas/clarification would be helpful.

Regards

John Wood

Re: C++ Classes in .NET compact framework by Chris

Chris
Fri Jul 09 10:05:01 CDT 2004

For classes you have to use methodology #3 with a twist. You need a "class
factory" in the DLL that actually creates a class instance and then passes
the instance handle back to the managed code. All other methods then must
take the instance handle as an input parameter plus any other data needed to
pass to the instance. Take a look at the GDN POOM sample.

http://www.opennetcf.org/PermaLink.aspx?guid=edb3606b-768b-455f-acd7-1af7b9a250a4

--
Chris Tacke, eMVP
Co-Founder and Advisory Board Member
www.OpenNETCF.org
---
---
Principal Partner
OpenNETCF Consulting
www.OpenNETCF.com



"John Wood" <johndmwood@hotmail.com> wrote in message
news:32bee1d8.0407090625.5c455c01@posting.google.com...
> I want to be able to use unmanaged C++ classes from .NET compact
> framework (on pocket PC)
>
> Here are the approaches I have tried (and which I couldn't get to
> work).
>
> 1) Include the unmanaged C++ classes in a managed C++ project
> Problem: .NET CF doesn't support mixed mode apps
>
> 2) Convert the C++ classes to managed C++
> Problem: The unmanaged C++ classes require STL and C runtime code
> which is
> not available to managed C++ classes
>
> 3) Put the classes into a DLL, compile into native Pocket PC code
> Couldn't work out how to get *classes* from DLL? Accessing static
> functions
> seems fairly straight forward. What about classes though?
>
> Any ideas/clarification would be helpful.
>
> Regards
>
> John Wood



Re: C++ Classes in .NET compact framework by johndmwood

johndmwood
Tue Jul 13 07:04:33 CDT 2004

Chris,

Thanks very much for your reply.

Are you aware of any tools which can automatically generate the class
factory functions from a C++ class?


Regards,

John Wood


"Chris Tacke, eMVP" <ctacke@spamfree-opennetcf.org> wrote in message news:<uIOvcYcZEHA.3508@TK2MSFTNGP09.phx.gbl>...
> For classes you have to use methodology #3 with a twist. You need a "class
> factory" in the DLL that actually creates a class instance and then passes
> the instance handle back to the managed code. All other methods then must
> take the instance handle as an input parameter plus any other data needed to
> pass to the instance. Take a look at the GDN POOM sample.
>
> http://www.opennetcf.org/PermaLink.aspx?guid=edb3606b-768b-455f-acd7-1af7b9a250a4
>
> --
> Chris Tacke, eMVP
> Co-Founder and Advisory Board Member
> www.OpenNETCF.org
> ---
> ---
> Principal Partner
> OpenNETCF Consulting
> www.OpenNETCF.com
>
>
>
> "John Wood" <johndmwood@hotmail.com> wrote in message
> news:32bee1d8.0407090625.5c455c01@posting.google.com...
> > I want to be able to use unmanaged C++ classes from .NET compact
> > framework (on pocket PC)
> >
> > Here are the approaches I have tried (and which I couldn't get to
> > work).
> >
> > 1) Include the unmanaged C++ classes in a managed C++ project
> > Problem: .NET CF doesn't support mixed mode apps
> >
> > 2) Convert the C++ classes to managed C++
> > Problem: The unmanaged C++ classes require STL and C runtime code
> > which is
> > not available to managed C++ classes
> >
> > 3) Put the classes into a DLL, compile into native Pocket PC code
> > Couldn't work out how to get *classes* from DLL? Accessing static
> > functions
> > seems fairly straight forward. What about classes though?
> >
> > Any ideas/clarification would be helpful.
> >
> > Regards
> >
> > John Wood