首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Aspose.PDF触发器断点

Aspose.PDF触发器断点
EN

Stack Overflow用户
提问于 2019-04-04 12:49:16
回答 1查看 253关注 0票数 0

我在我们公司现有的应用程序中实现了Aspose.CellsAspose.PDF。虽然我在这方面遇到了一些麻烦(主要是因为我试图将两个API都实现到exat相同的文件中,这是个坏主意),但我想出了如何使它或多或少地工作。

我现在的问题是,虽然Aspose.Cells工作得非常好,而且似乎没有什么不寻常的行为,但Aspose.PDF已经在设置许可证方面遇到了困难,甚至当我最终使它开始工作时,我甚至都无法启动一个Aspose.Cells

因此,第一件完全不寻常的事情是,我必须在Aspose包提供的示例代码中设置许可证,在官方资源中,许可证设置如下。

代码语言:javascript
运行
复制
auto lic = System::MakeObject<Aspose::Pdf::License>();
lic->SetlLicense("c:\\Foo\fooproj\\Aspose.Total.C++.lic");

此代码不会在我的机器上运行并导致错误。

粗略翻译

food.exe触发了一个断点

原创

food.exe Hat einen Haltepunkt ausgel st

当我用像这样的emtpy构造函数初始化一个系统::String时,也会发生同样的情况。

代码语言:javascript
运行
复制
 auto lic = System::MakeObject<Aspose::Pdf::License>();
 System::String str;
 str.FromUtf8("C:\\foo\fooproj\\Aspose.Total.C++.lic");
 lic->SetLicense(str);

但是,如果我首先初始化带有空字符串的System::String,设置许可似乎工作得很好,所以这是可行的。

代码语言:javascript
运行
复制
 auto lic = System::MakeObject<Aspose::Pdf::License>();
 System::String str(u"");
 str.FromUtf8("C:\\Projekte\\Aspose\\Lizens\\Aspose.Total.C++.lic");
 lic->SetLicense(str);

如果上面的代码有效,并且我试图从Aspose::Pdf::Document中创建一个对象,那么它将崩溃。

代码语言:javascript
运行
复制
void Aspose_pdf::helloWorld()
{
  auto doc = System::MakeObject<Aspose::Pdf::Document>();
.....
.....
}

我真的不知道发生了什么。目前我不使用任何使用命名空间命令。如果有人知道怎么解决这个问题就太好了。

编辑:错误发生在以下函数的smart_ptr.h中。

代码语言:javascript
运行
复制
typename std::enable_if<!IsSmartPtr<T>::value, SmartPtr<T> >::type  MakeObject(Args&&... args)
{
    System::Detail::OwnNextObject ownershipSentry;
    T *const object = ::new T(std::forward<Args>(args)...);
    ownershipSentry.CreatedSuccessfully(object);
    return SmartPtr<T>(object);
}

在第二行中,T *const object = ::new T(std::forward<Args>(args)...);会“导致”错误,或者至少在这里会触发错误。

Edit2:

这里,您将找到一个简单的示例,说明我的代码在一般情况下是怎样的。我开始在我的程序中实现Aspose.Pdf,所以我编辑了我的附加库目录、附加依赖项、附加包含目录、预preprozessor定义和堆栈大小,以适应Aspose.Pdf示例中给出的这些设置。在此之后,我创建了我的Aspose_Pdf类并对其进行了测试。到目前为止工作得很顺利。在此之后,我做了同样的编辑,以适应Aspose.Cells以及。此外,我还创建了一个类Aspose_Cells并对其进行了测试。而现在,我的Aspose_Pdf类停止了工作。过了一段时间后,我设法至少让Aspose_Pdf的许可激活从现在开始工作,我遇到了上面描述的问题。

其他属地:

代码语言:javascript
运行
复制
   ...
    Aspose.PDF_vc141x64d.lib
    aspose_cpp_vc141x64d.lib
    Aspose.Cells.lib

其他图书馆目录:

代码语言:javascript
运行
复制
   ...
    ..\Aspose\Aspose.PDF\lib\Debug
    ..\Aspose\Aspose.Cells\lib64

附加包含目录

代码语言:javascript
运行
复制
 ...
    ..\Aspose\Aspose.PDF\lib\Debug
    ..\Aspose\Aspose.PDF\include\asposecpplib
    ..\Aspose\Aspose.PDF\include\Aspose.Pdf.Cpp
    ..\Aspose\Aspose.Cells\Include
    ..\Aspose\Aspose.Cells\Include\icu\include
    ..\Aspose\Aspose.Cells\Include\boost
EN

回答 1

Stack Overflow用户

发布于 2019-04-04 15:13:52

我从未听说过Aspose.Pdf,我也不知道System::MakeObject<是如何工作的。但对我来说,所有的代码都可能被简化为下一个代码:

代码语言:javascript
运行
复制
Aspose::Pdf::License^ lic = gcnew Aspose::Pdf::License();
System::String^ str = "C:\\foo\\fooproj\\Aspose.Total.C++.lic";
lic->SetLicense(str);

当涉及到Pdf.Document时,初始化可能如下所示:

代码语言:javascript
运行
复制
Aspose::Pdf::Document^ doc = gcnew Aspose::Pdf::Document();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55516429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档