什么是"[DCC 致命错误] frm_Test.pas(381): F2084 内部错误:C15700"?

3
我正在将一个项目从Delphi 2009升级到D2010,遇到了以下内部错误:

[DCC Fatal Error] frm_Test.pas(381): F2084 Internal Error: 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
这些是编译器/链接器中的错误。在不同版本的Delphi中,您可以在互联网上找到许多关于这些错误的参考,但它们并不总是相同的错误。这使得难以为所有这些不同类型的问题提供一个解决方案。
可能会修复它的通用解决方案包括:
  • 删除*.dcp *.dcpil *.dcu *.dcuil *.bpl *.dll
  • 以另一种方式重写代码
  • 调整编译器选项
  • 获取最新的Delphi版本
更多信息可以在此处找到。

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版本都可以正常工作。


1

我尝试使用您提供的信息创建测试用例,但未出现内部错误。我所知道的D2010在C15700处唯一的ICE是QC 65594。

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

你已经修改了代码并为自己解决了问题,但如果你能尝试创建一个测试用例并提交一个 QC 报告,那就更好了。这是确保问题得到解决的最佳方式。


请注意,QualityCentral现已关闭,因此您无法再访问qc.embarcadero.com链接。如果您需要访问旧的QC数据,请查看QCScraper - Remy Lebeau

0

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


增量构建已经崩溃了,你还说“赚钱”? - JensG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接