问题标签 [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 投票
0 回答
104 浏览

delphi - 注册帧在同一项目组中的行为与普通帧一样

我创建了一个自定义框架并将其注册为组件,如“如何改进 Delphi 框架的使用”中所述

一切开始都很好,正是我所需要的。但是,当使用我的框架包和我的主要项目打开一个项目组时,事情就会崩溃。

当我在 IDE 中关闭并重新打开我的项目时,从 DFM 中读取我发布的属性时出现错误。这是典型的“找不到属性 XX;忽略、取消、全部忽略”错误。

如果我忽略所有错误,组件将恢复为像框架一样的行为。例如,我可以将内部控件拖动到不同的位置。如果我从框架中删除任何已发布的属性,加载错误就会消失,但 IDE 中的行为仍然是框架而不是组件。

这似乎与我有一个项目组集有关,其中包含我的主要可执行文件、带有框架的包以及带有框架注册码的设计包。如果我自己打开主项目,我的表单打开时没有任何错误,并且注册的框架的行为符合预期/预期。

这就像IDE在找到注册包之前感到困惑并在加载的项目中找到框架。

一个明显的解决方案是不使用项目组,而是单独使用它们,或者不使用框架将其转换为真正的组件。我希望有一种方法可以继续使用框架来直观地设计组件并将它们保存在一个项目组中(我喜欢能够进行 Build-All 并且知道所有内容都会立即重建)

0 投票
1 回答
424 浏览

delphi - 对象检查器中的星号是什么意思?

在 Delphi 的对象检查器中,我看到属性名称 ( ) 后面有一个星号ConnectionName*

对象检查器中的星号

它是如何到达那里的,最重要的是:它是什么意思?

在 TMySQLConnection 的源代码中,我没有看到任何特别之处,所以我猜这是设计时的事情?

更新

它与 TSQLConnection 的内容有关。

要重现,请将下面的代码粘贴到表单上。

经过一番尝试,我得出结论,当 Params 属性被编辑以使其不再具有默认值时,会出现星号。不过,这对我来说仍然是个谜。

0 投票
0 回答
1458 浏览

delphi - Delphi 在哪里存储其环境变量的值?

Delphi 使用了几个名称以 BDS 开头的环境变量,它们显示在 Tools/Options/"Environment Variables" 下。有所谓的“系统变量”,包括来自 Windows 的环境变量(ALLUSERSPROFILE、APPDATA、PATH 等),还有一些不是从 Windows 继承的变量:

  • 北斗系统
  • BDSBIN
  • BDSCOMMONDIR
  • BDS包括
  • BDSLIB
  • BDSPORJECTSDIR
  • 等等

它们显然是在 2005 年的 Delphi 中引入的,此后它们的数量不断增加。

我找不到存储它们的任何地方,仅在注册表中引用 $(BDSPORJECTSDIR)。显然,它们可以被同一对话框中的“用户覆盖”覆盖。

在线帮助只是给了我一个无用的错误“找不到文件 %s”(这是一个相当令人尴尬的错误),http://docwiki.embarcadero.com/RADStudio/XE6/en/Environment_Variables 上的 docwiki 没有 回答我的问题或者,唯一的提示是“BDS 环境变量代表 RAD Studio 的安装位置”。

Delphi 是否将这些变量存储在任何地方?还是它们只是从 IDE/编译器从例如可执行文件的文件名生成的?

编辑:为什么我没有找到 如何评估 Delphi 的“环境变量”如 $(BDS) 的链接? ? 在发布这个问题之前,我当然搜索过。是的,这回答了我的问题。谢谢。

0 投票
1 回答
365 浏览

delphi - 如何不使用使用它的应用程序每次重新编译已安装的包?

当我在 IDE 中安装一个包并在项目中使用它时,每次编译我的项目时都会重新编译(替换 DCU)。

我无法想象这是有意的 - RTL 和 VCL 也不是每次都编译,是吗?

我在工具 > 选项 > 环境选项 > Delphi 选项 > 库中使用了一些路径,但没有成功。

我找到了一个允许编译我的项目的结构,而无需重新编译在不同路径中具有 DCU 和 PAS 的包,但是在这个结构中,Delphi 根本无法从代码编辑器中找到源代码(例如单击 SHIFT),所以这个不是一种选择。

0 投票
1 回答
186 浏览

delphi-2009 - 如何在 Delphi IDE 的结构视图中隐藏(大部分是错误的)语法错误

我真的很喜欢使用结构视图,但是它们上面的许多错误的语法错误(意味着它们没有错误)经常挡住我的视线。我总是不得不折叠它们,因为它们最初是扩展的。不要误会,我真的很喜欢 Delphi 告诉我任何错误,但是这些语法错误大多数时候都是错误的错误,所以关注它们是没有意义的。

我真的很想从结构视图中完全删除这个语法错误列表。如何才能做到这一点?我目前正在使用 Delphi 2009,但有时也使用 Delphi XE5,因此欢迎提供任何版本的 IDE 的提示。

0 投票
2 回答
251 浏览

delphi - Delphi 2007 - 是否可以在运行时获取被忽略的异常类的列表?

我想在运行时确定是否在 IDE 中专门忽略了异常类。原因是:从 IDE 运行应用程序时,我可能会收到一个我知道原因但不想现在处理的异常。所以我选中“忽略这些异常”框并单击继续。

我以后可能会忘记禁用此设置,因此我想在应用程序启动时添加代码以警告我列表中的异常Tools/Options/Debugger Options/CodeGear Debuggers/Language Exceptions被忽略。

另一种方法是一段代码,它可以确定异常类的状态(即是否被忽略)而不触发 IDE 中的异常

0 投票
0 回答
216 浏览

delphi - 是否可以在不从 IDE 链接的情况下编译程序?

我有一个大小约为 80MB(调试模式)的 GUI 应用程序。有时,当我更改源代码中的某些内容时,我只想知道它是否可以编译并按 CTRL+F9(我不依赖 Code Insight,因为它并不总是适用于大型项目)。编译完成非常快,但在 Core i7 和三星 840 Pro SSD 上,链接阶段大约需要 10 秒!!!这是相当不舒服...

是否有 IDE 选项/快捷方式告诉 IDE 仅编译源代码,而不链接/生成实际的 .exe?还是 DCC 选项?

  • 我正在使用德尔福 XE7
0 投票
1 回答
7793 浏览

delphi - 为什么 Delphi XE7 IDE 因内存不足异常而挂起并失败?

我正在使用 Delphi XE7 IDE,它经常挂起,开始消耗许多系统资源并在以下异常中失败:

  • 系统内存不足 --> ([dcc32 致命错误] F2046 内存不足)
  • 外部异常
  • [MSBuild 错误] “DependencyCheck”任务意外失败。System.Runtime.InteropServices.COMException (0x8000FFFF):Borland.Build 的 Borland.Build.Tasks.Common.IBDSHostObject.GetFileTime(String filename) 内存不足。 .Tasks.Shared.DependencyCheck.GetFileNameTime(String filename) at Borland.Build.Tasks.Shared.DependencyCheck.Execute() at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean&任务结果)

第三个异常的原因是什么?

我该怎么做才能使其稳定?

0 投票
2 回答
578 浏览

delphi - 在 Delphi EXE 文件中显示暂存项目 (.SB) 文件

我想在我的 Delphi EXE 文件中显示一个Scratch Project (.SB) 文件。我想知道是否可以将 Scratch 项目显示并构建到您的 Delphi 项目中。

我希望在Scratch中制作一个小游戏,然后在我的 Delphi 应用程序中使用该游戏,而不需要 Scratch IDE。也许第 3 方 delphi 工具或组件或可以帮助我实现这一目标的东西也会很好。

这可能吗?如何才能做到这一点?

0 投票
1 回答
211 浏览

delphi - 按文件类型自定义构建工具

我可以为某种类型的所有文件自动关联一个自定义构建工具吗(即我想为所有扩展名为 *.mjs 的文件运行我的自定义构建工具)。

在 Delphi Doc 中,我只找到了一种手动关联单个文件的方法:添加自定义构建工具

我正在使用德尔福 XE3