
我在这里粘贴一个简单的虚拟示例:这在2009年编译并在XE上提供E2064 …为什么?是否有可能将XE设置为像2009年一样?或者我应该去寻找解决方法?
unit Unit2;interfaceuses windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;type TTestRecord = record FirstItem : Integer; SecondItem : Integer; end; TForm2 = class(TForm) procedure AssignValues; private FTestRecord :TTestRecord; public property TestRecord : TTestRecord read FTestRecord write FTestRecord; end;var Form2: TForm2;implementation{$R *.dfm}procedure TForm2.AssignValues;beginwith TestRecord do begin FirstItem := 14; // this gives error in XE but not in 2009 SecondItem := 15; end;end;end.解决方法 D2010编译器比以前的版本更严格.在以前的版本中,编译器没有抱怨,但通常结果不会如您所期望的那样,因为它在临时var上运行,因此您的更改将在方法结束时消失. 您链接的问题的答案提供了更好的解释,并提供了可供选择的解决方案(或解决方法).
总结以上是内存溢出为你收集整理的将项目从2009升级到XE时出现Delphi“E2064左侧无法分配”错误全部内容,希望文章能够帮你解决将项目从2009升级到XE时出现Delphi“E2064左侧无法分配”错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)