我想将旧的Delphi 6项目迁移到Delphi XE2和ReportBuilder 14.
在我的项目中,我有一个继承自TppReport的用户组件TReportBase,我需要4或5个新属性。我有基础形式TBaseForm与TReportBase组件和一些其他控件。许多其他形式继承自此TBaseForm。
这种行为在Delphi 6中对我有用,并且我在Delphi 7和Delphi 2007中测试得也很好。但是在Delphi XE2中
我在预览和设计中发现了问题。
当我添加Tpplabel时,我收到一个列表索引越界错误,并且:
[500A3234]{rtl160.bpl } System.Classes.TList.Insert (Line 3932, "System.Classes.pas" + 5) + $1
[11CF1E98]{rbRCL1416.bpl} Ppclass.TppBand.AddObject + $84
[11CF5700]{rbRCL1416.bpl} Ppclass.TppComponent.SetBand + $54
[11BDCC80]{rbRCL1416.bpl} Ppctrls.TppCustomText.SetBand + $0
[11ED079A]{rbIDE1416.bpl} Ppdesignworkspacecontroller.TppDesignWorkspaceController.AddComponent + $E6
[11ED17CA]{rbIDE1416.bpl} Ppdesignworkspacecontroller.TppDesignWorkspaceController.ehWorkspace_MouseUp + $BA
[11AD6627]{rbRTL1416.bpl} Ppmulticast.TppMulticastEvent.Notify + $27
[11EBEF56]{rbIDE1416.bpl} Ppdesignerworkspace.TppWorkspace.MouseUp + $4A
[503331A8]{vcl160.bpl } Vcl.Controls.TControl.DoMouseUp (Line 7448, "Vcl.Controls.pas" + 2) + $28
[50333224]{vcl160.bpl } Vcl.Controls.TControl.WMLButtonUp (Line 7461, "Vcl.Controls.pas" + 9) + $6
[50332814]{vcl160.bpl } Vcl.Controls.TControl.WndProc (Line 7204, "Vcl.Controls.pas" + 91) + $6
[11FC6660]{rbIDE1416.bpl} Ppsynuedit.TSynEditPlugin + $70
[503369AB]{vcl160.bpl } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 9745, "Vcl.Controls.pas" + 1) + $9
[50337163]{vcl160.bpl } Vcl.Controls.TWinControl.WndProc (Line 9976, "Vcl.Controls.pas" + 152) + $6
[503367B8]{vcl160.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9689, "Vcl.Controls.pas" + 3) + $6
[500B5FCC]{rtl160.bpl } System.Classes.MakeObjectInstance (Line 13921, "System.Classes.pas" + 0) + $0
[504524EF]{vcl160.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10164, "Vcl.Forms.pas" + 23) + $1
[50452532]{vcl160.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10194, "Vcl.Forms.pas" + 1) + $4
[50452865]{vcl160.bpl } Vcl.Forms.TApplication.Run (Line 10331, "Vcl.Forms.pas" + 26) + $3
提前致谢。
LMIR