Hello Duane,<div><br></div><div>    Are you referencing monomac.dll, or are you compiling all its source code directly into your app?</div><div><br></div><div>    This problem happens if you try to put the MonoMac source code into your project, instead of keeping it as a separate assembly.</div>
<div><br></div><div>Miguel<br><br><div class="gmail_quote">On Sat, Jul 10, 2010 at 10:04 AM, Duane Wandless <span dir="ltr">&lt;<a href="mailto:duane@wandless.net">duane@wandless.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div>Here is a test case that shows the same issue I have with an Obj-C object.  In my real app the MyViewController object is created in obj-c.  But this test case shows the same issue.</div><div><br></div><div>using System;</div>

<div>using MonoMac.Foundation;</div><div>using MonoMac.AppKit;</div><div>using MonoMac.ObjCRuntime;</div><div><br></div><div>namespace monoMain</div><div>{</div><div>    public class myApp</div><div>    {</div><div>        public static void Main()</div>

<div>        {</div><div>                NSApplication.Init();</div><div>                MyViewController sv = new MyViewController();</div><div>                Console.WriteLine(&quot;class handle {0}&quot;, sv.ClassHandle.ToString(&quot;x&quot;));</div>

<div>                Console.WriteLine(&quot;class name {0}&quot;, new Class(sv.ClassHandle).Name);</div><div>                Class kls = new Class(&quot;MyViewController&quot;);</div><div>                Console.WriteLine(&quot;kls handle {0}&quot;, kls.Handle.ToString(&quot;x&quot;));</div>

<div>                Console.WriteLine(&quot;kls name {0}&quot;, kls.Name);</div><div>        }</div><div>    }</div><div><br></div><div>    [Register(&quot;MyViewController&quot;)]</div><div>    public class MyViewController : NSViewController</div>

<div>    {</div><div>        public MyViewController()  { }</div><div>    }</div><div>}</div></div><div><br></div><div><br></div><div>In the output I get:</div><div><div>class handle a0625e70</div><div>class name NSViewController</div>

<div>kls handle d5dbc0</div><div>kls name MyViewController</div></div><div><br></div><div>The desired output is to have MyViewController returned in both cases.  If I use NSView as the class it does work as expected.</div>

<div><br></div><div>I modified Class.cs to print out additional info:</div><div><div>Registering MyViewController : NSViewController / 0xa0625e70 0xd5dbc0</div></div><div><div>Console.WriteLine (&quot;Registering {0} : {1} / 0x{2} 0x{3}&quot;, name, parent_name, parent.ToString(&quot;x&quot;), handle.ToString(&quot;x&quot;));</div>

</div><div><br></div><div>So when the MyViewController is created it appears that its ClassHandle is incorrectly set to its super class handle.  I did take it a step further and created MyViewController2 : MyViewController.  And when sv.ClassHandle is printed out it is NSViewController&#39;s handle.</div>

<div><br></div><div>Thanks,</div><div>Duane</div><font color="#888888"><div><br></div>
</font><br>_______________________________________________<br>
Mono-osx mailing list<br>
<a href="mailto:Mono-osx@lists.ximian.com">Mono-osx@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-osx" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br>
<br></blockquote></div><br></div>