Ah, jetzt hats bei mir auch Klick gemacht. Ich kannte die THotSpot-Komponente bis dato nicht.
den namen holen? ich dachte das hätte ich mit
Code:
if hotspot = hsi.HotSpotByName('Kanada') then
begin
schon getan?
Das was Sir Rufo meint ist, dass der Parameter
HotSpot: THotSpot
aus dem Funktionsaufruf den Hotspot zurückliefert, den du gerade markiert hast.
Was du aber mit
hsi.HotSpotByName(...)
machst, ist zu prüfen, ob der markierte Hotspot dem Hotspot entspricht, den du als "Kanada"
ALS ERSTES in die Liste aufgenommen hast. Das erklärt auch, warum es nur funktioniert, wenn du auf den HotSpot 50 gehst.
Der Wert von
Hotspot: THotSpot
als Parameter hat in dem Fall aber sicher eine andere ID / Speicheradresse (Instanz) als
hsi.HotSpotByName('Kanada')
.
Du schreibst auch, dass du jeden Kanada-Hotspot die ID "Kanada" gegeben hast. Das ist, wie sich jetzt zeigt, schlecht. Du solltest jedem Hotspot eine eindeutige ID geben, zB Kanada1, Kanada2, ...
Das was du machen musst ist (in einer Schleife) zu prüfen, ob der Parameter
Hotspot: THotSpot
mit irgendeinem (in dem Fall) "KanadaX"-Hotspot übereinstimmt und dann kannst du die restlichen dazugehörigen hervorheben.