Ich habs befürchtet, den Wert ID hat der Marker ja, den kann man dafür verwenden um ihn später auch wieder anzusprechen. Ich wollte das aber eigentlich lieber umgehen, da es der ohnehin schon recht umständlichen Programmierung noch einen weiteren Step hinzufügt
Anzeigen und Speichern hängt aber nicht immer untrennbar zusammen.
Du kannst problemlos die GUIDs in einer externen Liste verwalten, aber die jeweilige
GUID dennoch in deinen Marker-Items als Property bereitstellen.
Stichwort: Class-Helper
Also das Property nachträglich/virtuell an dem Marker hängend, aber im Getter/Setter dieses Property die
GUID extern verwalten. (z.B. in dem Dictionary)
Himitsu du bist offiziel der Held des Tages
Hab es jetzt folgendermaßen gelöst:
Delphi-Quellcode:
USES
..., Generics.Colletions,....
type
TMarkerHelper = class helper for TMarker
class var
AddressGGUIDDictionary : TDictionary<TMarker,String>;
public
procedure SetAddressGGUID(lAddressgguid : string);
function GetAddressGGUID : string;
published
property AddressGGUID:string read GetAddressGGUID write SetAddressGGUID;
end;
.....
procedure tmarkerhelper.SetAddressGGUID(lAddressgguid: string);
begin
if not assigned(AddressGGUIDDictionary) then
AddressGGUIDDictionary:=TDictionary<TMarker, String>.Create;
AddressGGUIDDictionary.Add(self,lAddressgguid);
end;
function tmarkerhelper.getAddressGGUID : string;
begin
AddressGGUIDDictionary.TryGetValue(self,result);
end;
...
Habs getestet und macht was es soll.
Gibts da noch was zu beachten oder passt der Code so?
MFG
PJM