<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>Okay, so I think it is an issue somehow with how I am invoking Mono.  When being called from the main thread, the following code works.  When being called from a separate thread, on the same object, <span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; ">mono_string_to_utf8 (val) </span>below returns NULL but does not throw an exception.</div><div><br></div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" style="font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>mono_thread_attach(domain);</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" style="font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>MonoClassField *field;</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" style="font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>MonoString* val;</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" style="font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>field = mono_class_get_field_from_name (myMonoclass, [FieldName UTF8String]);</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" style="font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>mono_field_get_value (myMonoObject, field, &amp;val);</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" style="font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span></font><font face="Monaco" size="2" color="#760f50" style="font: 10.0px Monaco; color: #760f50">char</font><font face="Monaco" size="2" style="font: 10.0px Monaco"> *p;</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" style="font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>p = mono_string_to_utf8 (val);  //p here will be null when being called from a secondary thread.</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" style="font: 10.0px Monaco"><span class="Apple-tab-span" style="white-space:pre">        </span>NSString* retStr = [[NSString alloc] initWithUTF8String:p]; //on secondary threads, this line throws the exception "<span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; ">-[NSPlaceholderString initWithUTF8String:]: NULL cString" because p is null</span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Monaco" size="2" color="#760f50" style="font: 10.0px Monaco; color: #760f50"><span class="Apple-tab-span" style="white-space:pre">        </span>return</font><font face="Monaco" size="2" style="font: 10.0px Monaco"> retStr;</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">I am doing more checks (like checking to make sure the field is found, but I have removed that code in this sample).  </span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div></div><div>Any suggestions?</div><div><br></div><div>Thanks,</div><div>Kevin</div><div><br></div><div><br></div><br><div><div>On Nov 26, 2008, at 1:15 PM, Kevin Heeney wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-tab-span" style="white-space:pre">        </span>I was thinking I had to pass mono_thread_attach a reference to a thread.  Would calling mono_thread_attach(myDomain); work?   If so, I might have a different issue.<div><br></div><div>Thanks,</div><div>Kevin<br><div><br></div><div><div><div>On Nov 26, 2008, at 1:03 PM, Kevin Heeney wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="Arial">        </font></span><font class="Apple-style-span" face="Arial">Is there any way to register an NSThread with Mono?  I am using a 3rd party framework which I pass a delegate class and it launches a new Thread.  I have that class getting a reference to this created Thread using [NSThread currentThread].  I now need to call Mono from this thread but I need to register the thread using "</font><span class="Apple-style-span" style="color: rgb(41, 41, 41); "><font class="Apple-style-span" face="Arial">mono_thread_attach" I believe.  Is there anyway that I can do this with an NSThread?</font></span><div><font class="Apple-style-span" color="#292929"><font class="Apple-style-span" face="Arial"><br></font></font></div><div><font class="Apple-style-span" color="#292929"><font class="Apple-style-span" face="Arial">Thanks,</font></font></div><div><font class="Apple-style-span" color="#292929"><font class="Apple-style-span" face="Arial">Kevin</font></font></div></blockquote></div><br></div></div></blockquote></div><br></body></html>