Я использую JavaScript внутри моего плагина для Indesign CS6.
Работает нормально.
Но мне нужно возвращаемое значение из моего кода JavaScript сейчас внутри моего кода C ++.
Я использую этот сайт в качестве ссылки:
https://blogs.adobe.com/indesignsdk/running-a-script-from-an-indesign- плагин /
Мне нужно что-то подобное:
scriptRunner-> RunScript («function xpto () {return ‘Hello World’;}; xpto ()», params);
// поддельный метод
const char * string_return = scriptRunner-> getReturnCode ();
Есть ли что-то подобное на scriptManager?
PS: это не сервер indesign. Я поместил этот тег, потому что этот сайт не позволяет мне создавать новый тег …
С уважением,
Используйте RunScriptParams :: QueryScriptRequestData ().
Из документов SDK:
Запросите IScriptRequestData, который используется для передачи аргументов и возврата
результат.
Ключ заключается в получении объекта iScript из объекта RunScriptParams после запуска сценария. Тогда это прямо вперед. Вот пример кода:
RunScriptParams params(scriptRunner);
IScriptRequestData* requestData = params.QueryScriptRequestData();
params.SetUndoMode(RunScriptParams::kFastUndoEntireScript);
if (scriptRunner->RunScript(script,params) != kSuccess) return NULL;
IScript *iScript = params.QueryTarget();
int resultsCount = requestData->GetNumReturnData(iScript);
PMString resultString;
if (resultsCount > 0) {
ScriptReturnData resultOne = requestData->GetNthReturnData(iScript,0);
ScriptData scriptReturnOne = resultOne.GetReturnValue();scriptReturnOne.GetPMString(resultString);
}
Возвращаемое значение находится в resultString.