我想将旧的 Delphi 应用程序(内置于 Borland Delphi 6)升级到 Crystal 报告的第 13 版。在使用 SAP 发布的“自己动手”指南中概述的步骤之前,它已升级到 10.2 版:http: //scn.sap.com/docs/DOC-11048
我再次提交了相同的更改,从 10.2 注册表项指向 13 个注册表项并更新 VCL 中的版本检查。VCL 组件现在成功地从正确的位置拉取 CRPE32.dll,但随后无法找到相关的 Dll 文件,例如 pvlocal-1-0.dll 和 local_fallback-4-0.dll。如果我将所有 Dll 移动到与找到它们的应用程序相同的文件夹中,但我不知道是否要将所有 16 个 dll 和许可证文件与应用程序一起打包。
我已将问题缩小到以下方法中的LoadLibrary调用。不幸的是,我找不到有关如何解决问题的任何信息,并希望社区可能知道解决问题的方法:
function TCrpeEngine.PELoadCrpeDll(const CrpeLocation: string) : Bool;
var
s1,s2 : string;
begin
Result := False;
s1 := Trim(CrpeLocation);
CRDEngine := LoadLibrary(PChar(s1));
{If an error occured, set the flag}
if (CRDEngine < HINSTANCE_ERROR) then
begin
CRDEngine := 0;
s2 := SysErrorMessage(GetLastError);
if Trim(s2) = '' then
s1 := CRD_ERROR_LOADING + Chr(10) + 'Windows Error Number: ' + IntToStr(GetLastError)
else
s1 := CRD_ERROR_LOADING + Chr(10) +
'Windows Error Number: ' + IntToStr(GetLastError) + ' - ' + Trim(s2);
CRDEngineError(s1);
end
else
Result := True;
end;