在Delphi 7中,为什么我可以给const赋值?

2024-05-15

我将一些 Delphi 代码从一个项目复制到另一个项目,发现它在新项目中无法编译,但在旧项目中可以编译。代码看起来像这样:

procedure TForm1.CalculateGP(..)
const
   Price : money = 0;
begin
   ...
   Price := 1.0;
   ...
end;

因此,在新项目中,Delphi 抱怨“左侧无法分配给” - 可以理解!但这段代码是在旧项目中编译的。所以我的问题是,why?是否有编译器开关允许重新分配 const?那到底是如何运作的呢?我认为常量在编译时被它们的值替换了?


您需要打开可分配的类型常量。 项目 -> 选项 -> 编译器 -> 可分配类型常量

您还可以添加{$J+} or {$WRITEABLECONST ON}到 pas 文件,这可能更好,因为即使您将文件移动到另一个项目它也会工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Delphi 7中,为什么我可以给const赋值? 的相关文章

  • 声明常量 string[char] AA 的语法是什么?

    以下声明 const string char AA1 a fkclopel b poehfftw void main string args 给我 C temp 0186F968 d 1 27 错误 非常量表达式 a fkclopel b
  • Async InputQuery 不处理“取消”按钮

    我正在使用一个简单的调用TDialogServiceAsync InputQuery 使用单个输入 它只是忽略了Cancel按钮和窗口的X关闭按钮 But the Ok按钮工作正常 这是我的代码 uses FMX DialogService
  • 使用 OLE 和 Delphi 提高 Word 文档中搜索替换的性能

    经过一些实验 我最终得到了以下代码来在 MSWord 中执行搜索和替换 此代码在页眉和页脚中也能完美运行 包括首页或奇数 偶数页的页眉和 或页脚不同的情况 问题是我需要打电话MSWordSearchAndReplaceInAllDocume
  • Delphi - 在修复 VCL 错误时,单元 x 是用不同版本的 x 编译的

    我正在使用 Delphi XE6 并在我的项目中使用 Datasnap 和 JSON 我想纠正 VCL 单元 System JSON pas 在 TJSONString ToString 函数中 中的一个错误 它应该转义反斜杠字符和引号 为
  • 如何遍历任意给定集合中的枚举?

    我有很多枚举类型 它们与相应的集合相结合 例如 type TMyEnum meOne meTwo meThree TMyEnums set of TMyEnum 我正在尝试提出一组可以运行的函数any枚举集 而不是为每个枚举编写单独的函数
  • Java Webstart 报告错误的引导加载程序选项

    我在通过 Java Webstart 运行 Java RCP 应用程序时遇到问题 这对团队中的其他人有效 但对我无效 你不就是喜欢这类问题吗 我相信问题在于它下载的是 32 位版本的应用程序 而不是 64 位版本 当我查看计算机上的 web
  • 如何在Delphi中下载一个非常简单的HTTPS页面?

    我尝试了在这里看到的代码 但它不适用于 HTTPS 我需要将此页面作为字符串下载 并在其上添加一些换行符 以便将信息按顺序放入 TMemo 中 怎么做 我尝试使用 Indy 但由于 SSL 问题而失败 我尝试了此页面的解决方案 如何将网页下
  • 为什么未初始化的指针会导致内存访问冲突接近 0?

    据说often 但并非总是如此 当你在接近于零的内存位置 比如 89 美元 获得 AV 时 你就有了一个未初始化的指针 但我也在 Delphi 书籍中看到了这一点 嗯 或者它们都是由同一作者写的 Update 引自 Bob Swart 等人
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 在 Delphi 中使用 XML(将特定数据返回到变量)

    过去几天我一直在尝试使用 Delphi 2010 和 MSXML 我是一个极端的新手 需要一点指导 var MemoryStream TMemoryStream XMLPath String sName String XMLDoc vari
  • 每次 TDbGrid 的选定位置更改时都会触发什么事件?

    我的项目中有一个 TDbGrid 每次更改所选行时我都试图触发一个事件 行中的任何更改都已经更新了链接到同一数据源的所有数据感知控件 但还需要进行其他更改 我需要一个事件处理程序 我认为 OnColEnter 会起作用 根据帮助文件 它在以
  • TObjectList.Contains 导致 Delphi 2009 中的访问冲突

    在 Delphi 2009 中 到目前为止 我在泛型方面没有遇到大问题 使用 Generics Collections 列表 没有特殊的泛型功能 现在我发现这段代码会在访问的行中导致AVMyList Contains 如果我声明 TMyLi
  • Delphi AES 库 (Rijndael) 使用 KAT Vectors 进行测试

    对于这两个库 Delphi 加密概要 v 5 2 http code google com p delphidec TurboPower 密码箱 v 2 07 http lockbox seanbdurkin id au tiki list
  • Delphi IDE导致CPU过热

    我正在使用 Delphi 7 但我已经尝试过 Delphi 2005 2010 版本 在所有这些新版本中 当 Delphi IDE 在屏幕上可见时 我的 CPU 利用率为 50 一个核心为 100 另一个核心为 宽松 当 IDE 最小化时
  • 如何在运行时(Delphi/Windows)程序中添加代码?

    我正在Windows XP Delphi 7上工作 我需要在正在运行的程序中添加一些过程 或函数 并且我不想在完成后再次重新编译它 我只有一个具有 5 个功能的主机应用程序来发送不同类型的警报 但是还有其他新的警报类型 所以我必须执行新的功
  • 用于验证目的的动态查找方法

    我正在使用 Ruby on Rails 3 0 7 我想在运行时查找一些记录以进行验证 但为该查找方法传递 设置一个值 也就是说 在我的班级中 我有以下内容 class Group lt lt ActiveRecord Base valid
  • 命名管道性能问题

    我使用命名管道进行 C 和 Delphi 之间的过程间通信 C 使用System IO Pipes包 而 Delphi 使用Libby s pipes pas 不幸的是 通信几乎是高性能的 分析显示通信占用了整个运行时间的 72 其余的用于
  • 可以在滚动条上绘画吗?

    是否可以在 TMemo TListbox 等标准控件的滚动条上进行绘制 我所需要的只是在滚动条上绘制一些基本形状 并且我试图避免从 stratch 实现整个滚动内容 有什么指点吗 蒂亚 确实有可能 你可能想看一下WM NCPAINT消息 这
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • delphi THashSHA2 在大文件上返回错误的 SHA256

    Data Cloud CloudAPI pas has class function TCloudSHA256Authentication GetStreamToHashSHA256Hex const Content TStream str

随机推荐

  • MailKit:IMAP 服务器使用“BAD”响应回复“EXAMINE”命令

    我在 Exchange 2007 邮箱上收到此错误 我看到它正在返回BADMailKit 抛出的错误的响应 The IMAP server replied to the EXAMINE command with a BAD response
  • SELECT 元素中的图像[重复]

    这个问题在这里已经有答案了 我知道如何使用 CSS 背景图像属性让图片显示在 HTML 下拉表单元素中的选项旁边 但是 图像不会显示在所选元素上 有什么方法可以做到这一点 最好只使用CSS EDIT 这是列表元素的工作代码的示例 但是 当下
  • SQLite 自然连接损坏?

    我刚刚开始了解 NATURAL JOIN 而 SQLite 的行为并不像我预期的那样 SELECT FROM r1 NATURAL JOIN r2 NATURAL JOIN r3 and SELECT FROM r1 NATURAL JOI
  • python 中的 exec 关键字有什么作用?

    code compile a 1 2
  • 使用 c# 中的参数运行 cmd.exe

    我有文件夹 C Temp 其中有两个文件 des exe 和 input abcd des exe 用于解密input abcd 下面两行在命令提示符下有效 cd C Temp des exe XXXX input abcd output
  • 在 Flask 应用程序中设置和检索环境变量

    我想使用 python3 flask 构建一个非常简单的 REST api 比如说我想设置我的SECRET KEY要求由flask作为环境变量 推荐的方法是什么 我知道python dotenv允许 或者我应该说requires the f
  • 使用 willdurand/BazingaJsTranslationBundle 时出现问题

    为了在我的 JavaScript 文件中使用翻译 我实现了willdurand BazingaJsTranslationBundle https github com willdurand BazingaJsTranslationBundl
  • MySQL Workbench 忽略外键

    在处理 MySQL Workbench 中的 SQL 编辑器时 我偶然发现了一些奇怪的事情 其中 执行似乎忽略了外键约束 这是一个例子 create database testdb use testdb create table t1 te
  • Expression.Property 的 Expression.Convert 类型

    我正在尝试转换参数表达式 但在转换为值类型时遇到问题 下面是我的代码示例 public static MemberExpression ConvertToType ParameterExpression sourceParameter Pr
  • 重新打包存储库对于大型二进制文件有用吗?

    我正在尝试将大量历史记录从 Perforce 转换为 Git 并且一个文件夹 现在是 git 分支 包含大量大型二进制文件 我的问题是运行时内存不足git gc aggressive 我的主要问题是重新打包存储库是否可能对大型二进制文件产生
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 如果 pandas 数据框中的所有列都有空字符串,则删除行

    我有一个数据框如下 Name Age 0 Tom 20 1 nick 21 2 3 krish 19 4 jack 18 5 6 jill 26 7 nick 期望的输出是 Name Age 0 Tom 20 1 nick 21 3 kri
  • 自制木桶选项无法识别?

    我正在关注安装两个 Mac 实用程序的在线资源 http www economyofeffort com 2014 08 11 beyond ctrl remap make that c aps lock key useful http w
  • 将 Joda 时间段划分为所需大小的间隔?

    我有一个时间 周期 P 由开始时间 S 和结束时间 E 表示 我想将 P 分成大小为 D 的 C 个块 也就是说 P C D R 其中 R 是剩余时间或剩余时间 eg S NOW E 10 sec after NOW D 3 sec The
  • 如何通过 Mturk API 从沙箱上的 HIT 中获取结果

    我创建了一个 XML 文件来向 MTurk 发布问题 并且 HIT 在工作沙箱中可见 我的几个朋友甚至提交了对 HIT 的回复 但我无法查看此 HIT 的结果 这是我用来发布 HIT 的代码 import boto3 MTURK SANDB
  • Material Design Lite 与 AngularJS 的集成 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我知道角材料 https github com angular material这有助于实现在 Angular 单页应用程序中使用的 Mater
  • 如何退出项目?

    我找不到离开该项目的方法 该项目的所有者不是我 任何通过 IAM 执行此操作的尝试都不会成功 我希望该项目停止显示在我的帐户中 获得许可的项目成员resourcemanager projects setIamPolicy需要在项目上添加 删
  • 主目录 不允许下载媒体

    尝试将 PDF 文件保存在下载目录中 但之后getExternalStoragePublicDirectory在 Android Q 后完全弃用 无法将文件保存在 DCIM 或 Pictures 文件夹之外的任何其他位置 因为尝试在此处保存
  • 持久(基于磁盘)R 树(或 R* 树)

    R Tree 如何实现为持久性 基于磁盘 树 用于保存 R Tree 索引或保存叶值的文件的架构是什么 注意 此外 如何在这样的持久 R 树中执行插入 更新和删除操作 注释 II 我已经实现了具有批量加载功能的内存中 R 树 但我认为当我们
  • 在Delphi 7中,为什么我可以给const赋值?

    我将一些 Delphi 代码从一个项目复制到另一个项目 发现它在新项目中无法编译 但在旧项目中可以编译 代码看起来像这样 procedure TForm1 CalculateGP const Price money 0 begin Pric