Как удалить всех слушателей imageDisplayEvent

Я могу настроить один или несколько прослушивателей событий следующим образом:

number roiListener1=imgDsp.ImageDisplayAddEventListener("roi_changed:ROI_Changed1")
number roiListener2=imgDsp.ImageDisplayAddEventListener("roi_changed:ROI_Changed2")

Чтобы удалить их, я бы сделал это:

imgDsp.ImageDisplayRemoveEventListener(roiListener1)
imgDsp.ImageDisplayRemoveEventListener(roiListener2)

Есть ли способ удалить все существующие прослушиватели, прикрепленные к imageDisplay, без указания имен переменных прослушивателя? Спасибо,


person user6406828    schedule 03.11.2017    source источник


Ответы (1)


Хороший вопрос, но нет.

За исключением, конечно, того, что сам imageDisplay будет уничтожен, что автоматически удалит связанные слушатели, если только они сами не «удержаны» в памяти из-за чего-то другого (например, отображаемое изображение переменной-члена, другой слушатель и т. д.)

Самый простой способ «иметь дело» со слушателями — это управлять идентификаторами в списке тегов, после чего можно просто перебирать все записи.

person BmyGuest    schedule 06.11.2017
comment
Спасибо BmyGuest. Очень хороший совет. Это решает проблему надоедливых затяжных слушателей. - person user6406828; 08.11.2017
comment
@ user6406828 Рад, что смог помочь. Если сообщение отвечает на ваш вопрос, будьте так добры и примите его, нажав на галочку слева. Это отмечает вопрос, решенный в базе данных. - person BmyGuest; 08.11.2017