问题标签 [delphi-ide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2418 浏览

delphi - Delphi XE 占用一个完整内核(100% CPU 利用率)

我的 Delphi 开始使 CPU 过热。一旦我启动Delphi,它就会自己拥有一个完整的核心,并且冷却器开始非常努力地工作。有什么技巧可以解决这个问题吗?

我知道如果我同时使用“Delphi”和“bug”这两个词,Stack Overflow 上的一些人会开始释放热气,但这是一个非常讨厌的错误,因为它会浪费大量能量(尤其是在使用电池时)和过热会使电脑过早老化。


更新:

仅当活动选项卡是项目 (dproj) 文件时才会出现问题。一旦我切换到另一个文件 (pas),CPU 就会回到 0%-1%。它发生在任何 dproj 文件中,但仅当 IDE 在屏幕上可见时才会发生(未最小化到任务栏)。所以这显然是一个渲染错误。


更新:

看起来 Warren P 找到了产生类似错误的方法。看他的回答。


更新:

我已经看到这个问题也出现在一个非常大的 PAS 单元上,但是在我让 Delphi IDE 窗口在后台(未使用)3-5 分钟后出现了最大 CPU 利用率。我可以通过将窗口最小化到任务栏或切换到另一个 IDE 选项卡来解决它。

0 投票
7 回答
7493 浏览

delphi - 控制+单击功能在 Delphi XE 中不起作用

在 Delphi 7 中,每当我控制+单击一个函数/过程时,它都会将我带到该函数/过程。但它不适用于 Delphi XE - 至少不适用于所有功能。我在 ExtUtils.pas 中有一个名为 Associate 的函数。该函数已正确编译,因此编译器可以找到 ExtUtils.pas(当然,ExtUtils 被添加到 Uses 子句中,并且它的文件夹被添加到“库路径”中)。但是当我控制+单击功能或单位名称时,它并没有把我带到那里。

有任何解决这个问题的方法吗?


UPDATE1:此外,Control+Click 一个函数(在当前单元中声明)不会在声明函数的 INTERFACE 部分移动光标。

UPDATE2:
我暂时将 ExtUtils 单元放在项目的文件夹中,现在它可以工作了。因此,Control+Click 本身可以工作,但 IDE 似乎无法找到该单元,即使它的文件夹存在于库路径和浏览路径中。

类似报告:
http ://webcache.googleusercontent.com
http://webcache.googleusercontent.com
http://cc.embarcadero.com/Item/28269
此处有一份报告(请参阅下面的答案)


新测试:
我已经完全卸载了 Delphi(并手动删除了文件和注册表残留物)。然后又重新安装了。没有安装除 CodeSite 之外的其他工具,甚至没有安装数据库。然后我创建了一个新项目。它包含一个按钮。当我单击该按钮时,它会运行在名为 TestUnit.Pas 的外部 PAS 文件中定义的 TestMe 过程。我在库路径和浏览路径中添加了该库的路径。但是在 TestMe 上的 Control+Click 程序仍然无法正常工作!如果我将鼠标悬停在 TestMe 过程上,弹出窗口会显示“在 TestUnit 中声明”,其中“TestUnit”一词是一个蓝色链接。如果我单击它,我会听到 Windows 系统声音,但 IDE 不会将我带到那里(到设备)。

TestMe 程序是这样的:

如果我控制+单击 Beep 程序,它会将我带到 Windows.pas。所以,这是有效的。如果您想进行其他测试,请告诉我。

更新:
现在它可以工作了!没有任何明显的原因!我只是打开和关闭并编译了项目。但是除了这两个之外,我对 Delphi 没有做任何更改:AutoSave options-> Editor files 和 Project Options。

更新:
这不可能!!!
所以,现在我可以在控制+单击 TestMe 程序时访问 TestUnit.pas 文件。因此,我将初始测试(在 Delphi 重新安装之前)中不想工作的原始 PAS 文件(ExtUtils.pas)移到了 TestUnit.pas 所在的同一文件夹中。猜猜看:我可以打开(通过控制+单击)TestUnit.pas 但不能打开 ExtUtils.pas !!!
德尔福的行为如此奇怪和不一致!

更新:
我编辑了 ExtUtils.pas,现在我无法再次打开 TestUnit.pas。Ken White 不会让我说 Delphi 可能有错误。所以我不能将“错误”与“德尔福”一起使用。谁能帮我把这些词拼在一起?

更新:
我完全删除了对 ExtUtils.pas 的任何引用 - 所以我将项目恢复到它工作的点(使用 TestUnit)。但是现在错误仍然存​​在。即使在它与 TestUnit 一起工作前几秒钟,它现在也不再工作了。

更新:
现在我意识到一件重要的事情:在我的源代码(在测试项目中)我有一行可编译代码:

此代码不会出现蓝点 - 因为它不会被编译。在程序运行的那几分钟里,我看到了蓝点。我还排除了“自动保存选项-> 编辑器文件和项目选项”作为此问题的可能原因。

更新:
我找到了解决问题的方法......几分钟:我将项目和库移动到不同的文件夹中(任何位置都可以)。控制+单击将工作一段时间。如果我将文件放回原始文件夹,它甚至可以工作。因此,Delphi 似乎保留了某些文件的某种缓存。只要缓存被破坏并保留缓存,控制+单击就不会起作用。但是当我移动文件时,它必须重新创建该缓存,以便它可以工作,直到问题再次出现并存储在缓存中。

0 投票
3 回答
9667 浏览

delphi - 我得到“由于优化而无法访问的变量 x”

即使构建配置设置为“调试”并且优化为 False,我也会得到“由于优化而无法访问的变量 ForAllUsers”。所以,我无法调试我的程序。

为什么我会得到这个?
当我按下运行按钮时运行的是哪个版本?
我怎么看


... 结尾;


更新:
距离我发布这个问题只有几分钟,它已经被投票两次并被加注了两次。似乎这是一个很常见的问题。

0 投票
1 回答
1851 浏览

delphi - Delphi 的 Teamcity 插件

有谁知道是否有任何用于 Delphi-IDE 的 Teamcity 插件,例如 Visualstudio 的插件,它可以直接从 IDE 运行个人构建?

谢谢你

0 投票
0 回答
290 浏览

delphi - 使用 Delphi Subversion 集成从另一个文件夹签入文件

所以我们正在从 VSS 转换为 delphi,并且我们使用了很多包含路径。

我们希望至少尝试遵循 Delphi IDE 决定的正确方法,但这并不明显。

显然,您不能在 SVN 中包含在不同文件夹中使用的文件,即使它们在项目组中被提及。

那么......期望是什么?我们是否必须将所有文件转换为使用命名空间并将它们放在同一个文件夹中才能完全使用 Delphi 的颠覆集成?

我们是否应该为在多个 DLL 之间共享的所有“未投影”公共文件创建 BPL?

0 投票
1 回答
159 浏览

delphi - 是否可以更改 Delphi 2009 组项目中多个项目的主机应用程序?

我不确定为什么这不是可以通过选项集更改的东西,如果可以的话,那就太好了。它甚至不在 DDevExtensions 中,尽管我可以在那里更改很多其他内容。

Delphi 2009 IDE 中是否有一个位置,或者我可以安装另一个扩展,以便我可以一举更改我的组项目中 30 多个 DLL 的主机应用程序?

0 投票
1 回答
405 浏览

delphi - Delphi 2010 对象检查器网格和 windows dpi

我在高分辨率宽屏幕上工作,我将 dpi 设置为 144,这样我可以更好地看到字体。

Delphi 2010 对象检查网格中的问题我看不到网格无法缩放的属性或事件名称的文本!

有什么解决办法吗?

感谢

0 投票
1 回答
1365 浏览

delphi - Delphi中对RC文件的依赖检查

如果修改了 RC 文件,Delphi 将重新编译它。如果 RC 文件具有引用已更改文件的 RCDATA 或 BITMAP 声明,则 Delphi 不会再次将 .RC 文件重新编译为 .RES,直到我通过删除 .RES 文件或执行“触摸”(修改文件时间戳)来强制它在顶级 .RC 文件上。

这是一个示例 TEST.RC 文件:

修改 TEST.RC 时,将导致重新编译,当修改“File.txt”时,Delphi 不会在“编译”上重新编译资源。我不愿意只使用“构建”,因为它将我的时间从几秒钟增加到几分钟。

有没有人让 Delphi 与 .RC 文本文件和依赖项一起正常工作?授予某些人添加资源并且从不更改它们,但我已经开始使用 .RC 文件来处理我可能经常更改的内容,例如 .RC 文件中 RCDATA 部分中的二进制或文本数据。

请注意,尝试在预构建或构建后放置“删除 .res”步骤似乎会破坏 Delphi IDE/编译器。在 IDE 外部构建时,我可以从外部解决这个问题(在运行 msbuild 之前始终删除某些 .res 文件),但在 IDE 内部,Delphi 并没有给我太多选择。

有没有人有解决方案?(我在 Delphi 2007 中遇到了这个问题,但是任何适用于从 2007 到 XE3 的任何版本的 Delphi 的解决方案都将受到欢迎。)

0 投票
4 回答
317 浏览

delphi - 同一应用程序的两个不同版本

我有一个用 Delphi 2010 制作的软件,它需要由两个不同的部门使用,它们共享相同的数据和相同的 UI,除了一些更改,如隐藏/添加按钮、表单和网格列。因此,需要具有相同应用程序的两个版本。

无法在应用程序启动时提示用户选择部门我必须使用单独的 EXE。

在 Delphi 2010 或 XE3(稍后会升级)中做到这一点的最佳方法(概念)是什么?是否可以使用不同的 exe 名称进行编译?

0 投票
2 回答
1227 浏览

delphi - 是否有 Delphi 5 编译器 (dcc32.exe) 或 IDE 开关/选项来更改可执行文件的语言?

我正在维护一个使用 Delphi 5 Professional German 构建的旧 Delphi 5 程序。

问题是创建的可执行文件的所有对话框和错误消息都以德语显示,即使在位置设置为美国或英国之类的英语 Windows 上也是如此。

我需要英文版的 Delphi 5 Pro 还是有配置选项/编译器开关/选项来更改“输出语言”?

我不是在谈论 IDE 语言,我已经知道可以通过删除 Delphi 安装目录中的所有 *.DE 文件将其改回英文。

例子:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

更新:根据评论,我在 Source 目录中查找德语消息 - 我立即找到了几个文件:

我希望有一个更简单的方法。不要以为我会走这条路……