关于常量编译的问题

jackhatedance 2009-12-08 11:19:16
手头有一个系统的源码,被告知是能编译的。但是我却编译不了,报dwLength变量重定义了。是不是得设置某个编译参数才行啊?
procedure TfrmMain.doDBIndexOperation(frmIndexOperation: TfrmBaseForm);
const
dwLength = MAX_COMPUTERNAME_LENGTH + 1;
var
oboHousekeeping : IboHousekeeping;
rsData : _Recordset;
dwLength : DWord;
sMachineName,sUserList : string;
pszCurrentMachineID : Array[0..MAX_COMPUTERNAME_LENGTH + 1] of Char;
crSave_Cursor : TCursor;
begin
。。。。
end
...全文
81 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzgdyn 2009-12-09
  • 打赏
  • 举报
回复
既是常量又是变量,不现实
jackhatedance 2009-12-09
  • 打赏
  • 举报
回复
客户回复了,的确是不行的。
Harryfin 2009-12-08
  • 打赏
  • 举报
回复
{$J+}更本就不是这个用途,常量在定义的时候,是可以直接赋值为其它常量的。

我认为是不可能存在什么编译开关来处理你这种情况的。你说a := dwLwngth,到底编译器应该把常量赋值给a,还是把变量赋值给a呢?想想也知道。另外为什么非要解决常量和变量重名的情况,这本身我认为就是管理和设计上的问题。
jackhatedance 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
const
  dwLength = MAX_COMPUTERNAME_LENGTH + 1;

dwLength : DWord;
重复了
[/Quote]

我也觉得是重复了,但是人家说这个是可以编译通过的,我猜想是有编译指令开关可以解决这个问题的,但是${J+}也不合适。
bdmh 2009-12-08
  • 打赏
  • 举报
回复
const
dwLength = MAX_COMPUTERNAME_LENGTH + 1;

dwLength : DWord;
重复了

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧