问题标签 [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 回答
233 浏览

delphi - 如何从自定义构建工具向 IDE 报告错误消息?

我在 Delphi XE3 中使用自定义构建工具。

这按预期执行,但是当我的自定义构建工具由于某种原因失败时,它将返回一个非零退出代码,Delphi 只会报告构建失败。如果出现任何错误,构建工具将写入 stdout 和 stderr,但这些不会显示在“消息”窗口中:

  • 构建选项卡只显示失败(运行 brcc32 之后)
  • 在“输出”选项卡中,我可以看到
    • 运行目标 BuildVersionResource,然后运行目标 PreBuildEvent
    • 然后运行我的自定义预构建事件(在这里我还可以看到它写入标准输出的内容) - 这也成功了
    • 然后我只看到:Build FAILED - 但我没有看到与自定义构建工具相关的任何内容

我该如何解决这个问题,或者在哪里可以找到自定义构建工具的详细帮助?Delphi IDE 帮助非常基础。

这是完整的输出选项卡文本作为参考:

0 投票
0 回答
494 浏览

delphi - 如何在预构建事件更改后自动刷新打开的文件

在 Delphi XE3 中,我有一个生成 .pas 文件的预构建事件。生成的文件位于项目的搜索路径中,并且工作正常。

当前在 Delphi 编辑器中打开这些文件之一时,预构建事件仍将正常运行并更新 .pas 文件。问题只是,Delphi-IDE 没有注意到该文件已更改。即,当我只是切换到另一个程序然后回到 Delphi-IDE 时,将识别更改 - 并且会询问我是否要在编辑器中更新文件。

有没有办法在我的预构建事件命令中强制执行此行为?

0 投票
1 回答
350 浏览

delphi - CnPack 中用户定义的宏

你知道如何在 CnPack 中创建用户定义的宏吗?

随附的说明说可以完成,但没有说明如何完成。我尝试登录专用论坛两次,但没有成功。

我在网上搜索了一些教程,但也没有找到任何东西。

0 投票
2 回答
435 浏览

delphi - 为什么当应用程序由 IDE 启动而不是启动器时,命令行参数的数量会发生变化?

考虑以下命令行参数

当我为我正在工作的项目指定 Run>Parameters... 时,应用程序在 Process Explorer 上显示为命令行:

ParamCount 显示 4 个参数。但是,当我从启动器应用程序(进行访问控制)启动相同的可执行文件时,Process Explorer 显示:

ParamCount 显示 3 个参数。命令行是从启动器应用程序中提取的。理论上它会起作用,因为从启动器启动时,应用程序可以完美地工作。从 IDE 启动时,它会尝试在"4"上面执行 StrToInt,但只检索"beta"参数。

启动器应用程序的示例代码:

sParam 的内容是上面的命令行参数,sExe 是可执行路径。为什么会发生这种情况?

注意:我已经设计了如何将命令行参数解释更改为对于这种极端情况是稳健的——这里的重点是为什么会发生这种情况。

0 投票
0 回答
101 浏览

delphi - Object Inspector 中无法再为字符串属性输入空间,如何找到罪魁祸首?

我使用 Delphi XE4,突然发现我不能再在 Object Inspector 中输入空格字符(其他字符都可以)来获取字符串属性,例如TButton.Caption. 我不知道从什么时候开始,但应该是在过去一周内。

而且我一直忙得不可开交,不记得我最近所做的任何可能导致 IDE 出现此问题的重大更改/安装。

关于如何找到问题根源的任何建议?我猜某些已安装软件包中的某些属性编辑器专家会导致此问题。

0 投票
0 回答
292 浏览

delphi - 为什么 DragAcceptFiles 在 Delphi >=2005 中工具属性对话框的 TEdit 控件上不起作用?

我正在尝试使 Delphi IDE (*1) 中“工具属性”对话框上的程序的 TEdit 控件接受从资源管理器中删除的文件。这在 Delphi 6 和 7 中运行良好,但在 Delphi 2005 的“新”IDE 中不再适用。

在 Delphi 6/7 中,将文件放在编辑控件上会触发 WM_DROPFILES 消息,TEdit 的 WindowProc 的挂钩可以捕获该消息。在以后的版本中,没有收到任何消息。WindowProc 上的钩子仍然有效,因为它接收各种其他消息。

据我所知,对话框布局、名称和控件没有变化。

作为测试,我什至在对话框中添加了我自己的 TEdit 和 TComboBox,以确保这不是这些特定现有控件的问题。它们显示得很好,但删除文件也不适用于这些。

还有什么问题?

(*1:您可以通过工具 -> 配置工具 -> 添加或编辑这将是 GExperts 中的一项新功能。自动完成已经适用于这些控件。)

代码在这里:

http://sourceforge.net/p/gexperts/code/HEAD/tree/trunk/Source/IDE/GX_IdeToolPropertiesEnhancer.pas

实际的挂钩代码在这里:

http://sourceforge.net/p/gexperts/code/HEAD/tree/trunk/Source/Utils/GX_dzVclUtils.pas

0 投票
2 回答
230 浏览

delphi - Delphi IDE 是否具有项目/组项目的文件计数和行计数功能?

是否有任何 Delphi IDE 版本提供给定项目组(或至少单个项目)的总行数和文件数的功能?

如果没有,是否有任何添加此功能的 IDE 附加工具?

0 投票
1 回答
77 浏览

delphi - 如何避免每次重新编译使用的运行时包时重新安装已安装的包?

我有一个安装在 IDE 中的设计时包,它使用运行时包中定义的类函数

每次编译或构建运行时包时,似乎都会自动重新安装设计时包。

该操作在按下“编译窗口”的“确定”按钮后开始,需要几秒钟。

在此处输入图像描述

有没有办法避免这种情况?

0 投票
1 回答
279 浏览

delphi - Delphi XE4 IDE,如何始终隐藏对象检查器的底部窗格

位于 Obeject Inspector 底部的两个窗格根本没有用处,而且它不必要地占用了屏幕空间,如下面的屏幕截图所示。即使在重新启动 IDE 后如何禁用这两个窗格?内置选项或第三方插件对我来说没问题。谢谢。 在此处输入图像描述

0 投票
1 回答
154 浏览

delphi - Delphi OpenTools API 获取组件属性

我正在实现一个包以在 delphi IDE 中转换和自动生成组件。我知道 GExperts 具有类似的功能,但我需要自定义一些特定的属性。

现在我坚持访问该TADOQuery.SQL属性,它是TStrings的一个实例:

我不确定使用RTTI 中的TValue是否是正确的方法。

谢谢