[Mono-dev] RE: Com Interop Patch - mcs
monodanmorg at yahoo.com
Sat Jan 7 10:23:38 EST 2006
Now, I added some code to navigate to a web page. I built with vs.net 2005. It runs on .net 2.0 okay. It fails to run on Mono with your COM interop patch.
IWebBrowser2 ie = new InternetExplorerClass();
object o = null;
ref o, ref o, ref o, ref o);
ie.Visible = true;
Here is the exception I get:
$ mono ConsoleApplication1.exe
COMInteropHelpers.CreateInstance before return
Unhandled Exception: System.NullReferenceException: Object reference not set to
an instance of an object
in <0x0002a> System.Variant:VariantFromObject (System.Object obj)
in <0x00021> System.Runtime.InteropServices.Marshal:GetNativeVariantForObject (S
ystem.Object obj, IntPtr pDstNativeVariant)
in (wrapper managed-to-native) ie_tester.InternetExplorerClass:Navigate (string,
in <0x00050> ie_tester.Program:Main (System.String args)
What do I do?
"Jonathan S. Chambers" <Jonathan.Chambers at ansys.com> wrote: Here is a zip of a simple program to launch ie. I defined the interface and class in C#, so you don't need an interop assembly.
If you want to compile the source, compile with the MS compiler. The mono compilers appear to not work correctly. The included exe was compiled with VS.2005, and works with both mono (with my patch) and .Net. An .exe produced by the mono compilers doesn't run on mono or .Net. Not sure if the issue is with my COM stuff, or the compilers.
From: Daniel Morgan [mailto:monodanmorg at yahoo.com]
Sent: Fri 1/6/2006 8:01 PM
To: Jonathan S. Chambers; mono-devel-list at lists.ximian.com
Subject: Re: [Mono-dev] RE: Com Interop Patch - mcs
Can you provide some examples that work on Mono?
"Jonathan S. Chambers" wrote: Here the patch for the class libs.
From: Jonathan S. Chambers
Sent: Friday, January 06, 2006 11:33 AM
To: mono-devel-list at lists.ximian.com
Subject: Com Interop Patch
Here's a first attempt at a patch for COM Interop. This only
provides support for RCWs (Runtime Callable Wrappers), i.e. using
unmanaged COM components from managed code. This should support both
classes used from Interop Assemblies (where metadata is known), as well
as bare interface pointers (with no metadata) who are wrapped using
The patch doesn't seem to introduce any regression failures, and
theoretically no code in this patch should even be hit unless you are
using COM Interop functionality.
Just as a quick update, as much functionality as possible has
been moved to managed code (either in the Marshal or COMInteropHelpers
classes). This helps maintenance, doesn't bloat the runtime with
component specific code, removes compile time dependencies, etc. I'm
hoping for all code in the runtime to be generic component support code.
All specific component code (COM, XPCOM, Mainwin COM) will be in
There's lots left to do, but this provides basic functionality.
I'm sure the patch needs cleanup before commit, so please let me know
what needs changed.
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
Yahoo! Photos Showcase holiday pictures in hardcover
Photo Books. You design it and well bind it!
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list