2

我正在使用 Rad Studio XE7 制作一个多设备应用程序。有时,当我想在表单上保存我的最后修改时,Rad Studio 会引发异常“参数超出范围”,但不给我任何关于问题出在哪里的信息。错误报告的详细信息:

[067B425F]{fmx210.bpl}
FMX.Types.{System.Generics.Collections}TList.SetCapacity
(第 737 行,“System.Generics.Collections.pas”+ 1)+ $1
[067B1703]{fmx210.bpl} FMX.Types.RegisterShortCuts(第 7266 行,
"FMX.Types.pas" + 23) + $7 [067448C7]{fmx210.bpl }
FMX.Styles..TStyleReader(第 351 行,“FMX.Styles.pas”+ 0)+ $132E
[067448D6]{fmx210.bpl} FMX.Styles.TStyleReader.SetName(第 368 行,
"FMX.Styles.pas" + 0) + $2 [067449CE]{fmx210.bpl }
FMX.Styles.TStyleStreaming.SameStyle(第 404 行,“FMX.Styles.pas”+1)
+ 17 美元 [067177F4]{fmx210.bpl } FMX.Controls.DoWrite(第 5896 行,“FMX.Controls.pas”+ 2)+ $C [06717847]{fmx210.bpl }
FMX.Controls.TStyleBook.DefineProperties(第 5902 行,
"FMX.Controls.pas" + 0) + $B [50161682]{rtl210.bpl }
System.Classes.TWriter.WriteProperties(第 11571 行,
"System.Classes.pas" + 19) + 8 美元 [50160EE9]{rtl210.bpl }
System.Classes.TWriter.WriteData(第 11381 行,“System.Classes.pas”+
30) + 6 美元 [5016C1F3]{rtl210.bpl} System.Classes.TComponent.WriteState
(第 15547 行,“System.Classes.pas”+ 0)+ 3 美元 [50160CBF]{rtl210.bpl}
System.Classes.TWriter.WriteComponent(第 11333 行,
"System.Classes.pas" + 18) + $8 [067A8F01]{fmx210.bpl }
FMX.Types.TFmxObject.GetChildren(第 4750 行,“FMX.Types.pas”+ 7)+
17 美元 [06760403]{fmx210.bpl } FMX.Forms.TCommonCustomForm.Notification
(第 3567 行,“FMX.Forms.pas”+ 1)+ 1 美元 [5005F532]{rtl210.bpl }
System.@CallDynaInst(第 16299 行,“System.pas”+ 4)+ $0
[50160FFA]{rtl210.bpl} System.Classes.TWriter.WriteData(第 11403 行,
"System.Classes.pas" + 52) + $16 [5016C1F3]{rtl210.bpl }
System.Classes.TComponent.WriteState(第 15547 行,“System.Classes.pas”
+ 0) + $3 [50160CBF]{rtl210.bpl} System.Classes.TWriter.WriteComponent(第 11333 行,
"System.Classes.pas" + 18) + $8 [5016114E]{rtl210.bpl}
System.Classes.TWriter.WriteDescendent(第 11431 行,
"System.Classes.pas" + 8) + $4 [211357A3]{designide210.bpl}
ComponentDesigner.WriteStream(第 4184 行,“ComponentDesigner.pas”+
11) + 7 美元 [21135870]{designide210.bpl}
ComponentDesigner.TComponentRoot.WriteRootStream(第 4207 行,
"ComponentDesigner.pas" + 5) + $B [21132540]{designide210.bpl}
ComponentDesigner.TComponentRoot.GetRootStream(第 2936 行,
"ComponentDesigner.pas" + 14) + $5 [211388F6]{designide210.bpl}
ComponentDesigner.TComponentRoot.Save(第 5194 行,
"ComponentDesigner.pas" + 1) + $2 [211389BE]{designide210.bpl}
ComponentDesigner.TComponentRoot.Save(第 5208 行,
"ComponentDesigner.pas" + 15) + $12 [21D7CF56]{delphicoreide210.bpl}
DelphiModule.TPascalCodeMgrModHandler.SaveFile(第 1589 行,
"DelphiModule.pas" + 2) + $8 [206A6F84]{coreide210.bpl}
SourceModule.TCodeISourceModule.SaveFile(第 1514 行,
"SourceModule.pas" + 2) + $22 [206A4604]{coreide210.bpl}
SourceModule.TSourceModule.SaveFile(第 656 行,“SourceModule.pas”+ 3)
+ $1F [2087C1AC]{coreide210.bpl} DocModul.TDocModule.TheMalteseFalcon(第 1438 行,“DocModul.pas”+ 60)+ $2 [500F11ED]{rtl210.bpl}
System.Rtti.RawInvoke(第 7090 行,“System.Rtti.pas”+ 46)+ $0
[500F15DF]{rtl210.bpl} System.Rtti.Invoke(第 7289 行,
"System.Rtti.pas" + 57) + $6 [500E7BBA]{rtl210.bpl }
System.Rtti.TRttiInstanceMethodEx.DispatchInvoke(第 5409 行,
"System.Rtti.pas" + 101) + $20 [500F1A74]{rtl210.bpl }
System.Rtti.TRttiMethod.Invoke(第 7980 行,“System.Rtti.pas”+1)+
$11 [2087BE24]{coreide210.bpl} DocModul.TDocModule.Save(第 1362 行,
“DocModul.pas”+ 3) + 22 美元 [206A5731]{coreide210.bpl}
SourceModule.TSourceModule.Save(第 1005 行,“SourceModule.pas”+ 13)+
7 美元 [20880E20]{coreide210.bpl} DocModul.SaveModifiedModules(第 3584 行,
"DocModul.pas" + 57) + $3 [0041FEA5]{bds.exe }
AppMain.{System.Generics.Collections}TList.IndexOf
(第 1151 行,“System.Generics.Collections.pas”+ 0)+ $1
[5016D523]{rtl210.bpl} System.Classes.TBasicAction.Execute(行
16099,“System.Classes.pas”+ 3) + 7 美元 [505AC25A]{vcl210.bpl}
Vcl.ActnList.TCustomAction.Execute(第 259 行,“Vcl.ActnList.pas”+ 19)
+ 35 美元 [5016D3A7]{rtl210.bpl } System.Classes.TBasicActionLink.Execute(第 16010 行,“System.Classes.pas”+ 2)+ 7 美元 [505C316C]{vcl210.bpl }
Vcl.Controls.TControl.Click(第 7346 行,“Vcl.Controls.pas”+ 7)+ 7 美元
[5063F950]{vcl210.bpl} Vcl.ComCtrls.TToolButton.Click(第 21481 行,
"Vcl.ComCtrls.pas" + 0) + $0 [505C3631]{vcl210.bpl }
Vcl.Controls.TControl.WMLButtonUp(第 7487 行,“Vcl.Controls.pas”+ 7)
+ $6 [505C2C15]{vcl210.bpl} Vcl.Controls.TControl.WndProc(第 7232 行,“Vcl.Controls.pas”+ 91)+ $6 [5016E218]{rtl210.bpl}
System.Classes.StdWndProc(第 16600 行,“System.Classes.pas”+ 8)+ $0
[505C2850]{vcl210.bpl} Vcl.Controls.TControl.Perform(第 7010 行,
"Vcl.Controls.pas" + 10) + $8 [505C6E12]{vcl210.bpl }
Vcl.Controls.GetControlAtPos(第 9773 行,“Vcl.Controls.pas”+ 4)+ 75 美元
[505C6EDA]{vcl210.bpl} Vcl.Controls.TWinControl.ControlAtPos(线
9796, "Vcl.Controls.pas" + 13) + $E [505C2850]{vcl210.bpl }
Vcl.Controls.TControl.Perform(第 7010 行,“Vcl.Controls.pas”+ 10)+
$8 [505C6FA8]{vcl210.bpl} Vcl.Controls.TWinControl.IsControlMouseMsg
(第 9820 行,“Vcl.Controls.pas”+ 15)+ 29 美元 [505C755E]{vcl210.bpl }
Vcl.Controls.TWinControl.WndProc(第 9989 行,“Vcl.Controls.pas”+ 104)
+ 6 美元 [50641A65]{vcl210.bpl } Vcl.ComCtrls.TToolBar.UpdateButtonState(第 22759 行,“Vcl.ComCtrls.pas”+ 11)+ 27 美元 [50641AA6]{vcl210.bpl }
Vcl.ComCtrls.TToolBar.UpdateButtonStates(第 22770 行,
"Vcl.ComCtrls.pas" + 3) + $4 [50644444]{vcl210.bpl }
Vcl.ComCtrls.TToolBar.WndProc(第 24345 行,“Vcl.ComCtrls.pas”+ 104)+
$6 [505C6D1C]{vcl210.bpl} Vcl.Controls.TWinControl.MainWndProc(行
9750,“Vcl.Controls.pas”+ 3) + $6 [5016E218]{rtl210.bpl}
System.Classes.StdWndProc(第 16600 行,“System.Classes.pas”+ 8)+ $0
[507176C9]{vcl210.bpl} Vcl.Forms.TApplication.CancelHint(行
11181,“Vcl.Forms.pas”+ 6) + $D [5071635B]{vcl210.bpl}
Vcl.Forms.TApplication.ProcessMessage(第 10352 行,“Vcl.Forms.pas”+
23) + $1 [5071639E]{vcl210.bpl} Vcl.Forms.TApplication.HandleMessage
(第 10382 行,“Vcl.Forms.pas”+ 1)+ 4 美元 [507166D1]{vcl210.bpl }
Vcl.Forms.TApplication.Run(第 10520 行,“Vcl.Forms.pas”+ 26)+ 3 美元

我认为问题出在我定义了一些设计的样书组件上,因此某些参数只能由它们修改。令人沮丧的是,商业软件没有提供至少绕过问题的机会。足以让我明白什么不该做。

4

1 回答 1

1

看来是 TListView 的问题。尝试清除列表视图字段并清除搜索框(如果存在)。

于 2015-04-29T23:17:17.067 回答