Hi Jason, I have a similar situation, except that I’m
planning to address it on Windows using COM interop rather than mixed-mode C++.
I posted to this list last week asking for advice on how to best do something
similar with Mono. Jonathan Pryor pointed me to the Mono
embedding API (http://www.mono-project.com/Embedding_Mono),
which can probably be used to do exactly what you want. The page
describes a way to call managed methods from C and also to call back into C
from the managed world. It is quite a bit clunkier than either mixed-mode
C++ or COM interop, though. He also pointed me to a Mono utility called
cilc which can be used to generate C wrappers for the classes and methods in an
assembly, which helps with some of the clunkyness. Eventually I’d
like to extend cilc to generate full C++ wrappers, complete with marshalling
between CLR and C++ types, to create something a lot like COM interop for
Mono. Even better, I’d like to arrange for my company to pay an
interested person to create something like this, as it is pretty far outside of
our core area of expertise. Some other folks had some interesting
suggestions as well. Check the August archives of this list for a thread
called “COM Interop, or something like it”. Hope this helps! Kevin Ring From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of J Hello, I am looking for a way of having a C++ exe integrate with a .NET
dll. I have a solution working under Windows (Microsoft.NET 1.1) however
I would like to make this function under Mono. Here are the details: I currently am writing a C# wrapper of a C++ game engine. (T2D by
garagegames) I wrote this on Windows (CLR v1.1) and the main way this
works is by adding Managed code to the C++ engine (so now it is mixed
Managed/Unmanaged C++) so it can directly call into my C# DLL, and using
PInvoke to have the C# DLL talk balk to the C++ engine. The C++ engine itself is OS agnostic (it works on windows, linux and
mac), and I would love to make this C# wrapper work under mono, so that it is
OS agnostic as well. However, http://www.go-mono.com/faq.html#63
informs me that Mixed mode assemblies do not work under mono. Is there any way to have this work under Mono? Please
realize that the basic need is to have 1 instance of a C++ exe call into a .NET
dll, and have that DLL be able to then execute functions in the C++ exe that
called it. So this requires a mono-equivlant of
PInvoke, plus a way to have the C++ app call the C# app. Help on this would be appreciated, otherwise it'll be Windows only! -Jason __________________________________________________ |
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list