«Сообщить приложению« Mail »» не будет принимать строку из IBOutlet в приложении AppleScript-ObjC - PullRequest
0 голосов
/ 10 июня 2018

Я работаю над приложением AppleScript-ObjC, которое генерирует сообщение электронной почты в Mail.Мой пользовательский интерфейс имеет три IBOutlets (два текстовых поля и всплывающее меню), где пользователи могут вводить текст, который будет заполнен в электронном письме.Я могу сохранить значения из этих выходов в переменные, но когда я пытаюсь использовать эти переменные внутри моего сообщения приложения "Mail" , я получаю эту ошибку:

AppleEvents:получил сообщение MAG, которое не было сложного типа, как ожидалось в getMemoryReference.

И вот что печатается в журнале:

(
    "<NSAppleEventDescriptor: 'ctxt'>",
    ": ",
    "Status: MyProjectName, Part No.: 12345"
)

Кажется, что есть разница между ctxt (которыйЯ думаю, что это NSString) и строка AppleScript, но я не могу понять, как преобразовать в строку AppleScript.Пожалуйста, дайте мне знать, как, если вы делаете.

Вот код для всей функции:

-- IBOutlets
property theWindow : missing value
property statusMenu : missing value
property partNumberField : missing value
property projectNameField : missing value

on generateButtonClicked:sender
    set projectName to projectNameField's stringValue() as text
    set partNumber to partNumberField's stringValue() as text
    set status to statusMenu's objectValueOfSelectedItem as text

    set theSubject to (status & ": " & projectName & ", Part No.: " & partNumber) as string
    log (class of theSubject) & ": " & theSubject

    tell application "Mail"
        try
            set newMessage to make new outgoing message with properties {subject: theSubject, theContent: "", visible: true}
        on error e
            log e
        end try
        activate
    end tell
end generateButtonClicked:

1 Ответ

0 голосов
/ 12 июня 2018
set newMessage to make new outgoing message ¬
    with properties {subject: theSubject, theContent: "", visible: true}

theContent не является собственностью outgoing message.Измените его на content.

...