Получение DoDragDrop DragSource

Закрытие на закрытиях

Объекты являются данными с присоединенными методами, закрытия являются функциями с присоединенными данными.

def make_counter():
    i = 0
    def counter(): # counter() is a closure
        nonlocal i
        i += 1
        return i
    return counter

c1 = make_counter()
c2 = make_counter()

print (c1(), c1(), c2(), c2())
# -> 1 2 1 2

16
задан Smi 10 March 2012 в 11:58
поделиться

1 ответ

Короткий ответ - нет, потому что когда вы получаете событие перетаскивания ( или DragEnter и т. д.) исходный объект перетаскивания может быть где угодно. Это могло быть в другом процессе. Это могло быть в машинном коде. Он может быть даже на другой машине, если протокол, подобный RDP, достаточно сложен для его обработки. Другими словами, нет никакой гарантии, что управляемый DoDragDrop даже был вызван, и если это так, нет никакой гарантии, что он был вызван из этого процесса.

20
ответ дан 30 November 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: