<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
<div><div><font class="Apple-style-span" face="Tahoma" size="2">Hi All,</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">[snip]</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> ></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> > Unit1.pas >>> http://pastebin.com/wuEft4Kb</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> Why do you declare TIsland as a generic if you don't use the type "T" </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> anywhere?</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; ">I have (though all of these posts) been trying to follow the instructions for GENERICS on this page:</span></div><div><font class="Apple-style-span" face="Tahoma" size="2"><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: medium; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; "><br style="text-indent: 0px !important; "></font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: medium; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; ">http://wiki.lazarus.freepascal.org/Generics</font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: medium; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; "><br style="text-indent: 0px !important; "></font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: medium; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; ">This page makes no reference to SPECIALIZE keyword. That is where I got the reference to type "T".</font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: medium; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; "><br style="text-indent: 0px !important; "></font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: medium; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; ">Can someone please provide an example of using a TList and an object (as in my code) so that I had </font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: medium; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; ">access to a custom Tlist with the Sort procedure... which is really my reason for needing this.</font></div><div style="text-indent: 0px !important; "><br></div></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> Nevertheless, you need to declare a specialized type of a generic, so </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> you're able to use it.</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> Example:</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> type</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> TIntegerIsland = specialize TIsland<Integer>;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> var</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> Island: TIntegerIsland;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> (...)</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">Okay, except that Island is not meant to be an integer. See here:</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">line 88</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">Tmap_detail = Object</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">                 FTerrain : Terrain_type;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">                 FTerrain_char : char;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">                 Fdescription : description_type;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">                 Fx, Fy, Flocation_number : integer;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">                 Fexits : exit_type;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">               end;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"> </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">  // The Island class definition</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">  Generic TIsland<T> = class</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">      Items : array of Tmap_detail;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">    public</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">    constructor Create(AList: TList);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">    procedure Add( Value : Tmap_detail );</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">  end;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">>So, as you can see, I am trying to define a Generic (or possibly a Specialize) of </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">type: an array of Tmap_detail. How do I correctly define this???</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">>The reason why I am choosing a Generic or Specialize is so that I have accept to the </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">"Sort" procedure of TList. I am not sure if I am doing this correctly.</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">>Best Regards,</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">>Peter</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; ">Best Regards,</span></div><div><font class="Apple-style-span" face="Tahoma" size="2">Peter</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> </font></div><div><font class="Apple-style-span" face="Tahoma" size="2">>> Regards,</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">>> Sven</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">> </font></div></div><div style="font-family: Tahoma; font-size: 10pt; "><br></div>                                         </body>
</html>