いろいろと試行錯誤してみたのですが、自分はこれに落ち着きました。
(XcodeでCocoa-AppleScript Applicationを作る場合)
Resources内に格納したASDialog.scptにパラメータを渡して、runしています。
(load〜runでは、AppleScriptObjC側で読み込んでしまうのが原因か、うまくいかないケースが有りましたので直接runしています。)
パラメータや戻り値はstringやtextではなくUnicode textで統一。
----------【AppleScriptファイル内】
on run as_prm
activate
display dialog (item 1 of as_prm) as Unicode text
display dialog (item 2 of as_prm) as Unicode text
return "完了" as Unicode text
end run
----------【AppleScriptObjCファイル内】
property NSBundle : class "NSBundle"
(*スクリプトファイルのパス取得*)
set as_path to (NSBundle's mainBundle()'s resourcePath()) as Unicode text & "/ASDialog.scpt"
(*パラメータを渡してrun 戻り値あり*)
set as_prm to {"ダイアログ1回目" as Unicode text, "ダイアログ2回目" as Unicode text}
set as_result to run script as_path with parameters as_prm
log as_result