- dcc32 错误- Unit3.pas(79):E2010 不兼容类型:'PWideChar' 和 'WideString'

- dcc32 Error- Unit3.pas(79): E2010 Incompatible types: 'PWideChar' and 'WideString'

我收到一个错误 - 在 Delphi XE3 - 使用 chilkat 库。这是错误:

[dcc32 Error] Unit3.pas(79): E2010 Incompatible types: 'PWideChar' and 'WideString'

这是我收到此错误的一段代码:

var  
 privKeyXml: PWideChar;  
...  
 privKeyXml := rsa.ExportPrivateKey();   
...  

((ExportPrivateKey)) 将以 XML 格式导出密钥(正如我在 chilkat 网站上看到的那样) 我该如何解决?

ExportPrivateKey()returns一个WideString值:

TChilkatRsa Delphi ActiveX Reference Documentation

function ExportPrivateKey(): WideString;

您不能直接将 WideString 分配给 PWideChar,您需要对其进行类型转换,例如:

var  
 privKeyXml: WideString;  
 privKeyXmlPtr: PWideChar;  
...  
 privKeyXml := rsa.ExportPrivateKey();   
 privKeyXmlPtr := PWideChar(privKeyXml);
...