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

delphi - Delphi IDE 是否劫持了我的系统?

多年来,有时在我的Window 7系统上安装一个新软件(IIRC,几十个,这些软件与Delphi IDE无关),而Delphi XE4 IDE正在运行,以下错误消息会不断弹出- 在这个例子中,当我安装 Cyber​​duck 时,超过 40 次。 在此处输入图像描述

翻译成英文时的错误信息为"Unable to start this program because **rtl180.bpl** is missing from the computer. Try solve the problem by re-installing the program .".

如果 Delphi XE4 IDE 没有运行,我就不会有这个问题。或者在永无止境的错误消息循环期间,如果我关闭 IDE,问题就会消失。

为什么会这样?IDE 是在监控我的系统还是什么?

关于解决问题的任何想法和建议?是否有任何工具可以帮助追踪问题与 Delphi IDE 之间的关系?谢谢。


更新 1:为了克服 Windows 路径限制,我似乎使用符号链接“缩短”了我的路径,我不记得细节了,看这个截图: 在此处输入图像描述


更新2:包含Process Monitor以下捕获的日志,现在我真的很困惑-今天我升级了腻子0.68,每当腻子启动时都会发生此错误,并ProcessMon告诉我putty.exe要创建文件C:\Users\Public\Documents\RAD Studio\11.0\Bpl\rtl180.bpl..顺便说一句,我**不** 上面提到的文件夹中有 rtl180.bpl ...有什么问题吗?

0 投票
1 回答
144 浏览

delphi - 需要在我的 Delphi xe4 IDE 中识别这个“在编译前出现”对话框

我想禁用每次编译或构建项目时出现的对话框(如下所示,标题为“处理文件”),但由于我使用了很多生产力插件(如下所示),所以我找不到它来自哪个 IDE 插件。

任何人都有任何提示:P

在此处输入图像描述

我使用的 IDE 插件列表如下所示 - PS,我相信 DKLang 没有显示在那里。

在此处输入图像描述

0 投票
0 回答
29 浏览

delphi - 如何避免组件显示为其自身链接属性的可能值?

我已经定义了一个组件类,它具有自己的类型的属性:

在 中Object Inspector,它显然允许我将LinkedComponent属性分配给组件本身,但我不希望它发生。

目前,我已经通过向属性设置器添加条件来实现我的目标,但我想知道是否有办法避免组件显示在下拉列表中。

在此处输入图像描述

0 投票
0 回答
658 浏览

delphi - 自定义框架的已发布属性在重新打开表单文件时消失

我正在使用TFrame作为在 IDE 中注册的复合组件的基类。当我从调色板中选择组件并将其添加到表单/框架中时,一切似乎都运行良好。下次我打开表单/框架时,框架组件显示为一个通用框架,就像该组件未从 IDE 注册一样,我的意思是:

  • 所有自定义发布的属性在Object Inspector.
  • 只有继承自TFrame的已发布属性在Object Inspector.
  • 可以在框架内单击和移动子组件。 在此处输入图像描述

此外,如果该属性有一个值,我会收到以下错误:

读取 MyComponent1.MyProperty 时出错:属性 MyProperty 不存在。忽略错误并继续?注意:忽略错误可能会导致组件被删除或属性值丢失。

一步一步的例子:

  • 我已经创建并编译了一个“设计时和运行时”包。(请注意,使用 Delphi 2007,我已经获得了 TFrameModule 类,如Ondrej Kelle 的帖子中所述)。

代码:

  • 我已将包含dcudcp文件的文件夹添加到 Tools -> Options -> Library - Win32 -> Library path

  • 我已将包含文件的文件夹添加bplPATH环境变量中。

  • 我已经在 IDE 中安装了该软件包并重新启动它。

  • 我创建了一个新的“运行时”包,其中包含一个放置TMyComponent类组件的表单。

  • 该组件按预期显示,我已将MyCaption属性设置为“AAA”。在此处输入图像描述

  • 然后我保存了表单并关闭了 IDE。

  • 之后我重新启动了 IDE,在重新打开同一个表单文件时,我收到以下错误:在此处输入图像描述

  • 我也尝试在不为属性设置任何值的情况下遵循相同的步骤,并且我注意到该属性从Object Inspector在此处输入图像描述

更多信息:

  • 每次重新编译组件的包并重新启动时,该MyCaption属性都会出现。我可以看到它,直到我下次关闭并重新启动它,然后它又消失了。Object InspectorIDEObject InspectorIDE

  • 我使用 DelphiXE7 重现了同样的问题,将“delphivclide210.bpl”而不是“delphivclide100.bpl”传递给过程中的GetModuleHandle函数Register

  • 它似乎与操作系统无关,我已经在 Windows 10 和 Windows XP 上复制了它。

0 投票
1 回答
128 浏览

delphi - 向delphi ide添加工具按钮时的奇怪行为

我正在尝试一些东西,并想做一个 delphi IDE 扩展。我的基本想法是扩展当前在 IDE 中的 ToDo 列表功能。

第一步是向 IDE 添加一个工具按钮,该按钮将打开一个显示待办事项的表单。

但我注意到一些我希望自己造成的奇怪事情,因为这意味着它可以很容易地修复。

我正在将我的工具按钮添加到自定义工具栏,这是带有蓝色问号的工具栏(见稍后截图)

发生的事情:我安装了我的包,按钮添加了正确的图像,就在现有按钮的旁边。现在我用已安装的包关闭模态表单,然后蓝色问号发生变化。

在此处输入图像描述

不要介意我使用的图标,我最终会使用不同的图标,但没关系。
所以基本上现有的项目更改为我自己的图标,但由于某种原因被禁用。我无法弄清楚为什么会发生这种情况。

正如我在网上找到的指南中所建议的那样,我使用了 TDatamodule 来实现我的代码。

我的代码:

DoRaise 是我自己的程序,它简单地销毁我的所有对象并引发异常,这样做是为了防止 ide 中的内存泄漏。

但是,我认为,我没有做任何奇怪的事情,但是却出现了这个问题。
所以我希望这里有人可能做了类似的事情并在我的代码中看到错误。

提前致谢。

Ps 如果您需要更多信息或查看单元的其余部分,请告诉我,我会将整个单元放在 github 或类似的东西上。

编辑: 感谢@Uwe Raabe,我设法解决了这个问题。问题在 INTAServices.AddImages 的评论中发现

AddImages 从给定的图像列表中获取所有图像并将它们添加到主应用程序图像列表中。它还创建了一个从原始图像索引到主图像列表中的新索引的内部映射数组。AddActionMenu 使用此映射将操作对象的 ImageIndex 属性重新映射到新的 ImageIndex。这应该是向主应用程序窗口添加操作和菜单项时调用的第一个方法。返回值是源列表中第一个图像在主应用程序图像列表中的第一个索引。使用 nil 图像列表调用此函数以清除内部映射数组。与祖先接口中的 AddImages 函数不同,此版本采用允许重用相同基本索引的 Ident。

最终解决方案是将我的图像添加到本地图像列表中,该图像列表已添加到 IntaServices 代码的图像列表中:

0 投票
0 回答
156 浏览

delphi - Delphi 2007 IDE 提示显示为 HTML 文本

几天以来,我的Delphi 2007 IDE 已停止格式化提示文本。

当光标移动到类或函数上时,它会以纯 HTML 文本形式显示提示。

在此处输入图像描述

语法突出显示处于活动状态,据我记得,在过去的几个月中我没有更改任何选项。

在此处输入图像描述

我唯一能想到的是,Windows 10更新可能会导致这个问题,但我不确定。

0 投票
1 回答
143 浏览

delphi - 如何激活重构?

我的 C++/Delphi 中的重构菜单总是显示“没有可用的重构”。如何激活它?看起来很有希望。我想有一天用它。

这里有一个非常古老的线程说这是由一些禁用的包引起的。但是我启用了所有软件包(两个 MS Office 软件包除外)。

0 投票
1 回答
1059 浏览

delphi - Delphi 10.3.2 - 无法解析单元名称 System.Classes

Delphi 10.3.2 全新安装

Error Insight 在核心 RTL 和 VCL 单元(如 System.Classes)上报告错误“无法解析单元名称”

这会污染错误洞察报告,并且还会阻止代码完成(控制+空格),这是一个真正的问题......)

到目前为止我已经尝试过:

  • 创建一个新的 VCL 表单项目:同样的错误,但项目编译没有错误
  • 检查 Control+Enter 打开源文件:ok
  • 检查是否在浏览路径中声明了源文件夹(常规选项)
  • 将源文件夹添加到库路径(常规选项)
  • 为 delphi 10.3 安装了 IDE Fix Pack
  • 卸载以前的 delphi 版本(XE4 和 10.2)
  • 通过删除对以前的 delphi 安装的引用来清理系统 PATH 变量

我不知道如何解决这个问题。任何帮助将不胜感激

编辑:切换到 Win64 平台时,错误洞察错误消失了。所以我尝试删除 Win32 平台,然后重新创建它:同样的错误再次发生。

Edit2:我再次卸载并安装了Delphi 10.3.2:错误仍然存​​在......

IDE 截图 - 新的 VCL 项目

0 投票
1 回答
142 浏览

delphi - 我可以在不重新编译的情况下从 IDE 内部运行 Delphi EXE 吗?

Delphi IDE中是否有一个快捷方式(按钮/菜单/等),它只执行最后编译的EXE(带有任何指定的参数),而不重新编译它?

当然,总是可以创建一个外部快捷方式,但如果有一种方便的方法可以从 IDE 中执行此操作,那就太好了,如果没有任何更改,则无需等待不必要的重新编译/链接。

0 投票
0 回答
23 浏览

delphi-ide - MMX 辅助覆盖方法

使用 Delphi IDE 的 MMX 插件,有没有办法显示可以在当前类中覆盖的虚拟方法列表,类似于 MMX 可以显示可以在当前类中实现的接口方法的方式?如果这很明显,请原谅我,但我找不到办法。

谢谢

大卫