我在Indesign CS6的插件中使用了javascript。
工作正常。
但是我现在需要我的javascript代码中的返回值。
我使用此网站作为参考:
https://blogs.adobe.com/indesignsdk/running-a-script-from-an-indesign-插件/
我需要这样的东西:
scriptRunner-> RunScript(" function xpto(){return' Hello World&#39 ;;}; xpto()",params);
//假方法
const char * string_return = scriptRunner-> getReturnCode();
在scriptManager上有类似的内容吗?
ps:它不是一个indesign服务器。我把这个标签,因为这个网站不允许我创建一个新的标签...
最诚挚的问候,
答案 0 :(得分:0)
使用RunScriptParams :: QueryScriptRequestData()。
从SDK文档:
查询用于传递参数并返回的IScriptRequestData 结果。
答案 1 :(得分:0)
关键是在脚本运行后从'RunScriptParams'对象中获取iScript对象。那么它是直截了当的。以下是一些示例代码:
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中。