Hello Geoff,<br><br><div>     I did not pay close enough attention to the sample.   I  was thinking that he was doing &quot;myViewController.GetType ()&quot; and not messing with the internals.</div><div><br></div><div>Miguel.</div>
<div><br></div><div><div class="gmail_quote">On Sat, Jul 10, 2010 at 12:09 PM, Geoff Norton <span dir="ltr">&lt;<a href="mailto:GNorton@novell.com">GNorton@novell.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word">Actually no, the issue here is he&#39;s using ClassHandle in a way that isn&#39;t supported.  ClassHandle is used internally in the bindings to figure out if we&#39;re a direct binding or not to do appropriate dispatch, it is NOT analogous to [self class];  If you want [self class] you can do<div>
Messaging.intptr_objc_msgSend (this.Handle, Selector.GetHandle (&quot;class&quot;))</div><div><br></div><div>Maybe we should expose this in a seperate property?</div><div><br></div><font color="#888888"><div>-g</div></font><div>
<div></div><div class="h5"><div><br></div><div><div><div>On 2010-07-10, at 11:56 AM, Miguel de Icaza wrote:</div><br><blockquote type="cite">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" target="_blank">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;, <a href="http://kls.Name" target="_blank">kls.Name</a>);</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" target="_blank">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>
_______________________________________________<br>Mono-osx mailing list<br><a href="mailto:Mono-osx@lists.ximian.com" target="_blank">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>
</blockquote></div><br></div></div></div></div></blockquote></div><br></div>