Сценарии Какао: Возвращение клонированных объектов из «дублированной» команды

AppleScriptduplicate Команда должна возвращать скопированные объекты.

И хотя приложения, использующие оригинальные функции на основе АЕ, похоже, делают это, приложения, основанные на среде сценариев Cocoa, похоже, никогда не возвращают ничего, кроменедостающее значение.

Похоже, что командный обработчикNSCloneCommand отвечает за не возвращение спецификаторов для клонированных объектов.

Я пытался исправить это в своем приложении с поддержкой сценариев, создав подклассы команды, собрав спецификаторы клонированных объектов, а затем вернув их.

Это хорошо работает, если дублируется только один элемент.

Это также работает, если несколько элементов клонируются вместе с использованиемto параметр с командой (как вduplicate every widget to end): Тогда я могу вернуть спецификатор типаNSRangeSpecifier это обозначает первый и последний из этих клонированных предметов.

Однако, если использовать команду дубликата для нескольких элементовбез to параметрзатем элементы сортируются в массив в виденепоследовательный способ, Например, если изначально есть 2 элемента "x" с идентификаторами 1 и 2,duplicate every x вставит копию каждого элемента сразу после оригинала, чтобы они были в следующем порядке: 1, 3, 2, 4.

Сейчас,как можно вернуть спецификатор для этого, то есть спецификатор для пунктов 3 и 4?

В подклассах нет спецификатора listNSScriptObjectSpecifier, и я не могу вернуть NSArray для каждого человекаNSScriptObjectSpecifier либо, кажется. И покаNSAppleEventDescriptor поддерживает создание списков, я не могу понять, как я бы преобразовал спецификаторы объекта в NSAppleEventDescriptors.

Как я могу решить эту проблему, кроме навязывания последовательного порядка клонированных объектов (что потребовало бы от меня повторной реализацииNSCloneCommandбоюсь целиком, боюсь).

КСТАТИ,Марк Олдритавтор Script Debugger,подтверждает проблему тотduplicate (также:move, open) не возвращайте значения, как они должны.

Ответы на вопрос(2)

Ваш ответ на вопрос