gpt4 book ai didi

delphi - 快速报表4.0。 "Claas TfrxReport Not Found"异常(RAD STUDIO XE2)

转载 作者:行者123 更新时间:2023-12-01 19:08:00 26 4
gpt4 key购买 nike

亲爱的 Stackoverflow 用户。我急需帮助。我一直在努力解决嵌入 Embarcadero XE2 RAD studio 版本的 FastReport 4.0 的问题。更具体地说,我一次又一次地遇到相同的错误,这是神秘的“Class TfrxReport Not found”错误。下面我提交导致问题的部分代码

procedure TForm1.buildReport(Sender: TObject);
var
DevicePic, SymbolPic: TfrxPictureView;
TitleEntry, xmlField: TfrxMemoView;
MasterDataBand: TfrxMasterData;

begin
if not ADOConnection1.Connected then
ShowMessage('Cannot build Report! Please, connect to the DB!')
else

try
//this is where the Class Not Found Exception is Thrown
frxReport1.LoadFromFile('LibreportTemplate.fr3',True);
// frxReport1.LoadFromFile('helloInfineonThree.fr3',True);

if (frxDBDataset1 = nil) then frxDBDataset1 := TfrxDBDataset.Create(Self);
// connect the report to the DATA
frxDBDataset1.DataSource := DataSource1;
frxReport1.DataSet := frxDBDataset1;
except
ShowMessage('Error has Occured! Report Template File Not Found!');
// exit from this procedure!
Exit;
end;
// If no errors have occured, go on building ur report by actually filling it up with data!

// attach dataSet to the masterdata band of the report.
MasterDataBand := frxReport1.FindObject('MasterData1') as TfrxMasterData;
MasterDataBand.DataSet := frxDBDataset1;
// prepare textfields
TitleEntry := frxReport1.FindObject('TitleEntry') as TfrxMemoView;
TitleEntry.DataSet := frxDBDataset1;
TitleEntry.DataField := 'LibFName';

xmlField := frxReport1.FindObject('xmlField') as TfrxMemoView;
// stretch the field if text too big.
xmlField.StretchMode := TfrxStretchMode.smActualHeight;
//get the XML DATA FROM THE DB.
xmlField.DataSet := frxDBDataset1;
xmlField.DataField := 'LibFXML';

// prepare images
DevicePic := frxReport1.FindObject('ImageEntry') as TfrxPictureView;
DevicePic.DataSet := frxDBDataset1;
DevicePic.DataField := 'LIBFIMAGE';

SymbolPic := frxReport1.FindObject('SymbolEntry') as TfrxPictureView;
SymbolPic.DataSet := frxDBDataset1;
SymbolPic.DataField := 'LibFSymbol';

// build and display report
frxReport1.PrepareReport();
frxReport1.ShowPreparedReport;

end;

在构建和运行程序时,我收到以下错误消息“找不到类 TfrxReport”,并且在 Debug模式下收到以下警告:

Project "MyProject.exe" raised exception class EClassNotFound with message 'Class TfrxReport not Found'.

如上面代码中所述,执行 frxReport1.LoadFromFile('LibreportTemplate.fr3',True); 时会引发相关异常。命令。

我尝试了许多不同的方法来解决该问题,包括在线搜索解决方案。这是我所做的:

在 Form OnCreate 和 OnClose 期间手动创建和销毁 frxReport1 对象 - 错误持续存在

按照 FastReport 论坛主题中的建议(我无法在 SO 上发布链接,导致“抱歉,帖子不能包含该内容。”错误),替换 FastReport 4\LibD16 文件夹中的文件。 - 错误仍然存​​在

重新编译 FastReport 4 RAD STUDIO 32 位版本 - 错误仍然存​​在重新编译 FastReport 4 RAD STUDIO 64 位版本 - 错误仍然存​​在重新安装 Embarcadero RAD Studio 和 FastReport 4 - 错误仍然存​​在

在 STACKOVERFLOW 中提出问题 - ????

从快速报告论坛中的帖子来看,问题和相应的解决方案似乎应该是(我引用):

This error causes by GroupDescendentsWith(TfrxReport, TControl); code. This code hides TfrxReport from FierMonkey and for some reason "FindClass" function can't find for TfrxReport class when you're loading report(only in IDE). If you can't load report or get similar error with "Couldn't find TfrxReport" message, put this "Link to Files" files to "Fast Report\LibD16" dir (replace all).

但是建议的方法并不能解决问题!我应该怎么办?有人知道吗?

最佳答案

我也遇到过这个问题,我已经解决了这个问题,

  • 创建一个新的ProjectGroup并添加适合您的delphi版本的DPK(我使用XE6)。您将看到 BPL 将分为运行时和设计。
  • 开始编译运行时fsX(X表示版本)、fqbX等。如果您在顺序上犯了错误,您会注意到的。某些软件包需要添加搜索路径 $(BSDCOMMONDIR)/DCP
  • 编译并安装设计包,您将看到TfrxReport

安装设计包后,您将看不到结果,我已重新启动 IDE,一切顺利;)

延迟了两年,我希望这能有所帮助!

关于delphi - 快速报表4.0。 "Claas TfrxReport Not Found"异常(RAD STUDIO XE2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14158064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com