如何使用Mako SDK中断编写程序集?

问题描述 投票:0回答:1

我正在使用Mako SDK编写程序集。我正在使用writeAssembly(...)IPDFOutput方法,但我不知道如何取消编写程序集,如果它是一个大的,长时间运行的文件。

我看到我可以提供ProgressCallbackFunc,但我不确定如何发出信号要取消。

我怎么能打断大会的写作?

c++ pdf xps mako-sdk
1个回答
0
投票

正如您所指出的,对writeAssembly(...)的调用包括进度回调的参数。从回调中,你可以简单地从那里抛出一个错误来终止中断并结束writeAssembly(...)调用。

按下ESC时终止的回调函数示例可能如下所示:

static void progressFunc(void *priv, float progress)
{
    wprintf(L"Percentage complete: %3.1f%%\r", progress * 100.0);
    if (_kbhit())
    {
        if (_getch() == 27) // ESC;
          throwEDLError(EDL_ERR_ABORTED);
    }
}

然后writeAssembly(...)调用如下所示:

output->writeAssembly(assembly, outputFilePath, progressFunc);
© www.soinside.com 2019 - 2024. All rights reserved.