Bom dia a todos.
Utilizo a suite http://www.cadetill.com/gmlib_en/ para desenhar mapas em uma aplicação Windows no Delphi.
No meu projeto preciso utilizar a propriedade TAG dos objetos TLinePoint e TPolygon (TLinePoint guarda os pontos do poligono).
Dentro da procedure onde faço a alteração da propriedade TAG dos objetos TLinePoint e TPolygon funciona perfeito sem erros. Mas quanto tento acessar em outra procedure de verificação da propriedade TAG dos objetos que gravei antes, apenas a TAG do TPolygon é gravada e a TAG do objeto TLinePoint é perdida como se ela fosse somente leitura. Todos os outros dados como latitude e longitude do ponto são gravados corretamente.
Já tendei de tudo e acredito seja um erro no código original. Não sei muito sobre orientação a objeto, e já fiz de tudo para encontrar o problema e não consigo.
Alguém pode me ajudar por favor, já não sei mais o estou fazendo de errado.
Segue um pequeno exemplo do meu código:
{procedure 1: cria o polygon e grava a TAG}
var p: TPolygon; pLP: TLinePoint; GMPolygonMapa : TGMPolygon;
p:=GMPolygonMapa.Add; //Cria o TPolygon indice 0 e adiciona ao objeto TGMPolygon que está ligado ao objeto TGMMap
p.Tag := 88; //seta TAG do poligono
pLP := p.AddLinePoint (lat, lng ); //cria a TLinePoint indice 0
pLP.Tag := 99; //seta TAG do ponto
Aqui já é outra procedure onde verifico a TAG:
{procedure 2 verifica a TAG do polygon}
ShowMessage(GMPolygonMapa.Items[0].Tag + //aqui retorna 88 corretamente para a tag do polygon
GMPolygonMapa.Items[0].Items[0].LngToStr + //aqui retorna a longitude do ponto corretamente
GMPolygonMapa.Items[0].Items[0].LatToStr + //aqui retorna a latitude do ponto corretamente,
IntToStr(FMapa.Items[0].LinePoints[0].Tag) ); //aqui retorna 0 incorreto poir deveria retornar 99 a tag do ponto
Grato.