问题标签 [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.
delphi - Delphi IDE 是否劫持了我的系统?
多年来,有时在我的Window 7系统上安装一个新软件(IIRC,几十个,这些软件与Delphi IDE无关),而Delphi XE4 IDE正在运行,以下错误消息会不断弹出- 在这个例子中,当我安装 Cyberduck 时,超过 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 ...有什么问题吗?
delphi - 自定义框架的已发布属性在重新打开表单文件时消失
我正在使用TFrame
作为在 IDE 中注册的复合组件的基类。当我从调色板中选择组件并将其添加到表单/框架中时,一切似乎都运行良好。下次我打开表单/框架时,框架组件显示为一个通用框架,就像该组件未从 IDE 注册一样,我的意思是:
此外,如果该属性有一个值,我会收到以下错误:
读取 MyComponent1.MyProperty 时出错:属性 MyProperty 不存在。忽略错误并继续?注意:忽略错误可能会导致组件被删除或属性值丢失。
一步一步的例子:
- 我已经创建并编译了一个“设计时和运行时”包。(请注意,使用 Delphi 2007,我已经获得了 TFrameModule 类,如Ondrej Kelle 的帖子中所述)。
代码:
我已将包含
dcu
和dcp
文件的文件夹添加到Tools -> Options -> Library - Win32 -> Library path
我已将包含文件的文件夹添加
bpl
到PATH
环境变量中。我已经在 IDE 中安装了该软件包并重新启动它。
我创建了一个新的“运行时”包,其中包含一个放置
TMyComponent
类组件的表单。然后我保存了表单并关闭了 IDE。
更多信息:
每次重新编译组件的包并重新启动时,该
MyCaption
属性都会出现。我可以看到它,直到我下次关闭并重新启动它,然后它又消失了。Object Inspector
IDE
Object Inspector
IDE
我使用 DelphiXE7 重现了同样的问题,将“delphivclide210.bpl”而不是“delphivclide100.bpl”传递给过程中的
GetModuleHandle
函数Register
。它似乎与操作系统无关,我已经在 Windows 10 和 Windows XP 上复制了它。
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 代码的图像列表中:
delphi - 如何激活重构?
我的 C++/Delphi 中的重构菜单总是显示“没有可用的重构”。如何激活它?看起来很有希望。我想有一天用它。
这里有一个非常古老的线程说这是由一些禁用的包引起的。但是我启用了所有软件包(两个 MS Office 软件包除外)。
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:错误仍然存在......
delphi - 我可以在不重新编译的情况下从 IDE 内部运行 Delphi EXE 吗?
Delphi IDE中是否有一个快捷方式(按钮/菜单/等),它只执行最后编译的EXE(带有任何指定的参数),而不重新编译它?
当然,总是可以创建一个外部快捷方式,但如果有一种方便的方法可以从 IDE 中执行此操作,那就太好了,如果没有任何更改,则无需等待不必要的重新编译/链接。
delphi-ide - MMX 辅助覆盖方法
使用 Delphi IDE 的 MMX 插件,有没有办法显示可以在当前类中覆盖的虚拟方法列表,类似于 MMX 可以显示可以在当前类中实现的接口方法的方式?如果这很明显,请原谅我,但我找不到办法。
谢谢
大卫