<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><span class="gmail-"><div><br></div></span><div>Podrías por favor compartir tu programa de prueba?.</div></div></blockquote><div>si.</div><div>es este:</div><div><br></div><div><div>program ad1;</div><div>type</div><div>TAD = array of string;</div><div><br></div><div>function hacer_TAD(a,b,c:string) : TAD;</div><div>begin</div><div>SetLength(Result,3);</div><div>Result[0] := a;</div><div>Result[1] := b;</div><div>Result[2] := c;</div><div>end;</div><div><br></div><div><br></div><div>procedure mostar_heap();</div><div>var</div><div>mi_heap : THeapStatus;</div><div>begin</div><div>mi_heap := getheapstatus();</div><div>writeln('TotalAddrSpace..: ', mi_heap.TotalAddrSpace);</div><div>//writeln('TotalUncommitted: ', mi_heap.TotalUncommitted);</div><div>//writeln('TotalCommitted..: ', mi_heap.TotalCommitted);</div><div>writeln('TotalAllocated..: ', mi_heap.TotalAllocated);</div><div>writeln('TotalFree.......: ', mi_heap.TotalFree);</div><div>//writeln('FreeSmall.......: ', mi_heap.FreeSmall);</div><div>//writeln('FreeBig.........: ', mi_heap.FreeBig);</div><div>//writeln('Unused..........: ', mi_heap.Unused);</div><div>//writeln('Overhead........: ', mi_heap.Overhead);</div><div>writeln('HeapErrorCode...: ', mi_heap.HeapErrorCode);</div><div>writeln('-------------------------------------');</div><div>end;</div><div>(*</div><div>compilar de esta forma:</div><div>fpc -MObjfpc ad1.pas</div><div><br></div><div>si no se compila con el modo Objfpc o delphi da error por el uso de Result</div><div><br></div><div>*)</div><div><br></div><div>var</div><div>v1,v2,v3,v4 : TAD;</div><div>pila : THeapStatus;</div><div>begin</div><div>mostar_heap();</div><div>SetLength(v1,5);</div><div>mostar_heap();</div><div><br></div><div>v1[0] := 'Aaaaaaaaa';</div><div>v1[1] := 'Bbbbbb';</div><div>v1[2] := 'Cccccccc';</div><div>v1[3] := 'Dddddddd';</div><div>v1[4] := 'Eeeeeee';</div><div><br></div><div><br></div><div>v2 := hacer_TAD('11111111','222222','33333');</div><div>mostar_heap();</div><div><br></div><div>v3 := hacer_TAD('----------','=====','#######');</div><div>mostar_heap();</div><div><br></div><div>v4 := TAD.create('uno','dos','tres','cuatro','cinco','seis','siete');</div><div>mostar_heap();</div><div>SetLength(v4,0);</div><div>mostar_heap();</div><div><br></div><div>writeln(v1[0]);</div><div>writeln(v1[4]);</div><div>writeln('=========================================');</div><div>writeln(v2[0]);</div><div>writeln(v2[1]);</div><div>writeln(v2[2]);</div><div>writeln('=========================================');</div><div>writeln(v3[0]);</div><div>writeln(v3[1]);</div><div>writeln(v3[2]);</div><div>writeln('=========================================');</div><div>mostar_heap();</div><div><br></div><div>//las siguientes lineas son las que producen el error:</div><div>//Runtime error 216 at $000000000041CE1B</div><div>//  $000000000041CE1B</div><div>//  $000000000040018F</div><div>// esto es por la llamada a SetLength en la línea 62</div><div>writeln(v4[0]);</div><div>writeln(v4[3]);</div><div>writeln(v4[6]);</div><div><br></div><div>end.</div></div><div><br></div><div><br></div></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Rafael Bidegain<br><br>Ya que los cuerdos no hablan, hablará el loco.<br>(The Fool, Padraic Pearse)<br><br># yo quiero educación libre. ¡YA!<br><br></div>
</div></div>