On 26.12.2011 12:50, Howard Page-Clark wrote:
On 25/12/11 10:07, Jiří Pavlovský wrote:
What do you mean ?
I mean the code below works ok, so I don't undestand why it doesn't
compile when I use similar construct inside a function.
const ranges: array [1..2] of TMyRec =
(
(Start: 0; Stop: 3),
(Start: 4; Stop: 7)
);
Are you looking for something like this? (BTW your code snippets are
too short to really understand what you can't do).
Yes, sorry I should have been more clear. It was late evening and I got
frustrated...
I now got what I need working. Still if there is a way to make it more
concise, Please let me know.
{$mode objfpc}
uses fgl;
type
TMyRec = record
Start, Stop : integer;
End;
MyIntType = byte;
TArrayType = array of TMyRec;
TSubMyMap = specialize TFPGMap<Char, TArrayType>;
TMyMap = specialize TFPGMap<Char,TSubMyMap>;
var t : TMyMap;
r : TMyRec;
myArray : TArrayType;
begin
r.Start := 1; r.Stop := 2;
SetLength(myArray, 1);
myArray[0] := r;
t:= TMyMap.Create;
t['a'] := TSubMyMap.Create;
t['a']['b'] := myArray;
writeln(t['a']['b'][0].Start);
end.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal