<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hello.<br><br>It seams to me that i monopolize the forum here.<br>Please advice if it borrow you, i will stop directly... ;-)<br><br>I still fight with cmem and trust me, it is a hard battle.<br>Mainly because the debugger gives me very few infos and because, if i do not use cmem, all examples are working perfectly, the debugger is happy and do not gives me any warning, only lot of "OK" ...<br><br>So difficult to understand why LCL+cmem do not like uos library.<br><br>I follow the advices of Tomas and the debugger gives me a (very) few more infos.<br>One is that:<br><br>#8  0x0000000000426ae6 in fpc_ansistr_decr_ref ()<br><br>So i isolate the only function who gives as result string (and is working without cmem):<br><br>function uos_GetInfoDeviceStr() : String ; <br>var<br>myresult : string;<br>begin<br>...<br>result := myresult;<br>end; <br><br>I changed with<br><br>function uos_GetInfoDeviceStr() : PChar ;<br>var<br>myresult : string;<br>begin<br>...<br>result := @myresult;<br>end; <br><br>And that is ok, no more crash and debugger is happy...<br><br>But now, when i try to retrieve the result with, for example :<br><br>procedure getinfo ;<br>var<br>mystring : string;<br>begin<br>mystring := uos_GetInfoDeviceStr();<br>end;<br><br>I get:<br>=> mystring = '' (empty string).  <br><br>How must i do to retreive the data of Pchar (the result of uos_GetInfoDeviceStr()) ?<br><br>PS : It seams that cmem prefers pointers as result, so, maybe i have to change all functions to give pointers as result (yes/no?). <br><br>Many thanks.<br><br><br><br>                                        </div></body>
</html>