加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用const的Delphi ShortInt帮助器ToString

发布时间:2020-12-15 09:52:28 所属栏目:大数据 来源:网络整理
导读:我在一个单独的单元中有一些常量,如果type为ShortInt( 128),我不能对这些常量执行.ToString. 示例: 创建单位并添加: const abc = 127; 创建一个TForm并在FormShow中执行: Edit1.Text := abc.tostring; 你知道为什么它不起作用吗? 输入所需的记录,对象或
我在一个单独的单元中有一些常量,如果type为ShortInt(< 128),我不能对这些常量执行.ToString. 示例:
创建单位并添加:

const abc = 127;

创建一个TForm并在FormShow中执行:

Edit1.Text := abc.tostring;

你知道为什么它不起作用吗?
输入所需的记录,对象或类.

如果常量在同一个单元中,它可以工作.

解决方法

我可以使用以下最小例子重现这一点

Program1.dpr

program Project1;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,Unit1 in 'Unit1.pas';

begin
  Writeln(abc.ToString);
end.

Unit1.pas

unit Unit1;

interface

const
  abc = 127;

implementation

end.

这是一个明确的编译器错误.你可以使用这样一个不优雅的类型提示来解决这个问题:

const
  abc = Shortint(127);

这告诉我,当没有类型提示时,编译器会将127视为除Shortint之外的其他内容.我不太确定,但因为我无法在编译器中看到.

请向Embarcadero提交错误报告.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读