delphi – 为什么我会得到“预期的E2026常量表达式”?
发布时间:2020-12-15 09:49:10 所属栏目:大数据 来源:网络整理
导读:我必须在system32文件夹中移动一个文件,我使用了这段代码: //-----------FUNCTION----------------function GetWindowsSystemDir(): String;var vlBuff: Array[0..MAX_PATH-1] of Char;begin getSystemDirectory(vlBuff,MAX_PATH); Result := vlBuff;end;//
我必须在system32文件夹中移动一个文件,我使用了这段代码:
//-----------FUNCTION---------------- function GetWindowsSystemDir(): String; var vlBuff: Array[0..MAX_PATH-1] of Char; begin getSystemDirectory(vlBuff,MAX_PATH); Result := vlBuff; end; //----------------------------------- const SMyFile = GetWindowsSystemDir+'intructions.txt'; //error here,line 87 var S: TStringList; begin S := TStringList.Create; try S.Add('intructions'); S.SaveToFile(SMyFile); finally S.Free; end; end; 编译时给我错误: [DCC Error] Unit1.pas(87): E2026 Constant expression expected 谢谢. 解决方法
正如编译器错误消息所指示的那样,它需要一个常量表达式来初始化const.但是你在那里调用一个函数,编译器不会在编译时对它进行评估.
改为声明一个变量,并将其分配到代码的常规开始结束块中: var SMyFile: string; S: TStringList; begin S := TStringList.Create; try S.Add('intructions'); SMyFile := GetWindowsSystemDir+'intructions.txt'; S.SaveToFile(SMyFile); finally S.Free; end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |