3

我正在将项目从 Delphi 2009 升级到 D2010 并遇到以下内部错误

[DCC 致命错误] frm_Test.pas(381): F2084 内部错误: C15700

打电话时

(ILocalizable(TMyProgram.MainForm.AbilitiesForm)).Localize('c:\test.txt');

以下是定义:

ILocalizable = interface
  ['{4DF36053-2651-45DE-ADF7-AEC033937A02}']
  procedure Localize(const FileName: TFileName);
end;

TMyProgram 是一个帮助类,类似于 C# 的类 Program。它有一个属性 MainForm 指向应用程序的主窗体。主窗体本身具有指向另一个窗体的属性,该窗体在主窗体的面板中创建和嵌入。我正在调用子表单的 Localize 方法。

此源已与 Delphi 2005-9 一起编译。

欢迎任何想法。

4

4 回答 4

4

这些是编译器/链接器中的错误。您可以在 Internet 上以不同的 Delphi 版本找到这些错误的许多参考,但它们并不总是相同的错误。这使得很难为所有这些不同类型的问题提供一种解决方案。

可能解决它的一般解决方案是

  • 删除 *.dcp *.dcpil *.dcu *.dcuil *.bpl *.dll
  • 用另一种方式重写你的代码
  • 修补编译器选项
  • 获取最新的 Delphi 版本

更多信息可以在这里找到。

于 2009-11-08T20:28:52.200 回答
1

删除 *.dcp *.dcpil *.dcu *.dcuil *.bpl *.dll

完毕。没有效果。

  • 用另一种方式重写你的代码

完毕。我设法通过将其重写为来解决该问题

var Form: TfrmAbilities;
begin  
  Form := TMyProgram.MainForm.AbilitiesForm;   
  Form.Localize('c:\test.txt');
end;
  • 修补编译器选项

完毕。没有效果。

  • 获取最新的 Delphi 版本

完毕。它在 Delphi 2010 上失败了。2005-2009 工作得很好。

于 2009-11-08T21:04:10.020 回答
1

我尝试使用您的信息创建一个测试用例,但没有收到内部错误。我知道的唯一一个在 C15700 上带有 D2010 的 ICE 是 QC 65594。

http://qc.embarcadero.com/wc/qcmain.aspx?d=65594

好吧,您已经修改了代码并为您解决了问题,但如果您可以尝试创建一个测试用例并提交一份 QC 报告,那就太好了。这是确保它得到修复的最佳方法。

于 2009-11-08T22:06:47.150 回答
0

Delphi 10.2 Tokyo 在项目管理器中右键单击项目并“清理” - 利润

于 2017-06-24T04:51:55.533 回答