我有一个C#DLL,它使用XslCompiledTransform类进行xml操作。我偷了C#DLL的C ++ / CLI包装器。
当使用Delphi 5实现C ++ / CLI包装器时,我收到系统算术错误。这是Delphi 5声明:
procedure XsltMethod(XmlPath, XsltPath: PWideChar); cdecl; external 'ahma.dll';
C#public方法的主体创建一个新的XslCompiledTransform对象,当新创建的对象运行其加载方法时,该异常会立即弹出。例如:
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(XsltFile);
如前所述,从.NET DLL抛出的异常是系统算术异常。这只发生在从Delphi可执行文件调用时。
我想我应该提一下,调用对象的加载方法再次正常工作。因此捕获异常并运行第二个“pass”的方法就像弹出窗口阻止程序一样。但是对于例外,当然。
答案 0 :(得分:2)
随机想法:
答案 1 :(得分:2)