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

windows - 与光标位置相关的奇怪的 Delphi IDE 行为

我发现了一个与光标位置相关的非常奇怪的 Delphi IDE 行为。

创建一个示例项目:

我们有一个简单的表单,其中包含一个用于记录的 ListBox 和一个面板。当我们单击面板上的鼠标按钮时,我们会收到鼠标消息,直到按钮被释放。

当鼠标离开面板窗体时会发生奇怪的事情。当我们在后台使用 Delphi IDE 运行应用程序并单击鼠标右键并向右移动时,我们会看到以下内容:

当我们离开Form时,X和坐标是不同的。Y

好的,也许它与屏幕和客户端坐标之间的对话有关。因此,最小化 IDE,我们会在后台看到桌面并执行相同的操作。

我们看到我们得到了正确的坐标。

请注意,在所有情况下,应用程序都在 Delphi IDE 下运行,但在 Delphi 之外运行不会改变任何事情。当应用程序窗口显示在 Delphi IDE 上时,会发生此行为。所以,我认为这是 Delphi IDE 创建的一些鼠标钩子中的一个错误。

我正在用 XE7 和 10.4 检查这个问题。

我对么?

另外,经过调查,我发现与高 Dpi 功能相关的错误,如果顶部窗口正确使用高 Dpi 和底部窗口在高 DPI 上显示缩放。因此,WM_NCHITTEST 首先转到底部窗口(我们可以将光标悬停在它上面),然后它们根据缩放转换坐标,并且在捕获鼠标的窗口收到消息后,坐标仍保持缩放。在 Windows 7 上测试。

0 投票
1 回答
239 浏览

delphi - 在 Windows 10 上使用 Delphi 2007 在调试器下无法检测网络驱动器

可能是我很愚蠢,但是我在检测网络驱动器是否启动时遇到了问题,但只有在 IDE 中运行程序时——在 IDE 之外运行程序时,才能正确检测到网络驱动器。IDE 在 Windows 7 上运行良好。

虽然有问题的程序不同,但我可以通过创建一个新项目并将以下内容添加到 FormsOnActivate事件中来重现该问题:

假设我有一个网络驱动器T:,如果我在 IDE 中运行程序,那么上面的总是返回 False,但是如果我从桌面快捷方式运行构建的程序,那么它返回 True。如果我在程序启动后通过单击按钮运行它,我会得到相同的行为。在根目录上做DiskSize()和给出相同的结果。FindFirst()

这是一个全新的 Windows 10 安装,而不是升级,它是 CodeGear 2007 的全新安装,并应用了所有补丁。我已尝试“以管理员身份运行”并将所有兼容模式恢复到 Windows 7。

我在做傻事吗?

0 投票
1 回答
68 浏览

delphi - 显示欢迎页面和函数提示的模块 jscript9.dll 处的 IDE 崩溃

我在Windows Server 2012 R2(64 位)上安装了Delphi XE7 。

一周前,它在启动时开始崩溃,同时显示带有以下错误消息的欢迎页面:

不明白问题的真正原因,我搜索了jscript9.dll,发现它可能与欢迎页面有关,所以我从注册表中禁用了WelcomePage并暂时避免了这个问题。

今天它再次开始崩溃,在显示功能提示时出现非常相似的错误。

IDE错误的图片,说

这两个错误也发生在一个新项目上,该项目使用 -r 参数创建运行 ide:

使用Process Monitor,似乎 Internet Explorer 出了问题(?):

进程监视器的日志

0 投票
1 回答
104 浏览

delphi - 防止项目树显示delphi rtl单元

我正在使用 Delphi XE3,我有很多项目在 DPK 文件中包含一个 rtl 单元(需要设置{$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP}),所以他们的 DPK 看起来像这样:

最近我通过从 Windows 资源管理器中选择 DPK 并使用拖放将它们添加到项目组中来添加项目,现在一些项目(不是全部)的项目树如下所示:

项目树

如何防止Winapi.Windows.pas在项目树中显示?