Thanks Edward,<br><br>i see the problem but i have the problem also if i have this function:<br> <br>  void inter2::getName( prova::inter_ptr obj )<br> 
{<br>
  char *p=obj-&gt;name();<br>
<br>
  cout&lt;&lt;p&lt;&lt;endl;<br>
 
}<br><br><br><div class="gmail_quote">2010/1/21 Edward Lin <span dir="ltr">&lt;<a href="http://edwardlin.tw">edwardlin.tw</a>@<a href="http://gmail.com">gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
At least I see one problem, you cannot &quot;return p&quot;; you must<br>
<br>
char* inter2::getName( ... )<br>
{<br>
    ...<br>
    return CORBA::string_dup(p);<br>
}<br>
<br>
You can refer to omniORB &#39;echo&#39; example.<br>
<div><div></div><div class="h5"><br>
&gt;&gt; server:<br>
&gt;&gt;<br>
&gt;&gt; char * inter2::getName( prova::inter_ptr obj )<br>
&gt;&gt; {<br>
&gt;&gt;  char *p=obj-&gt;name();<br>
&gt;&gt;<br>
&gt;&gt;  cout&lt;&lt;p&lt;&lt;endl<br>
&gt;&gt;<br>
&gt;&gt; return p;<br>
&gt;&gt; }<br>
</div></div></blockquote></div><br>