问题标签 [delphi-10.4-sydney]

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 投票
2 回答
314 浏览

delphi - Delphi 中的“引用”到底做了什么?

在阅读Delphi 匿名方法的文档时,我开始怀疑。我一直使用这样的东西:

一直为我工作。但是这个文件告诉我改用这个:

由于我从 1994 年到 2010 年一直在 Delphi 进行开发,因此我对这个“参考”部分有点陌生。尽管如此,这两种选择似乎都同样有效。所以……
他们是一样的吗?

0 投票
1 回答
91 浏览

delphi - 如何使用键盘从编辑跳转到编辑?

在与同事的讨论中,我一直在跳过一个相当大的源文件,当关闭它时,IDE 提示我保存它。我不知道基本编辑,但想检查一下。

经过多次撤消(Ctrl-Z)后,我位于文件的顶部,关闭它时没有提示。它一定是在空白处进行了简单的编辑或其他什么...

我知道我可以在左侧栏中查找颜色,例如:

在此处输入图像描述

但是有没有办法用键盘从编辑跳转到编辑?那将是最简单的检查方法。

我现在正在使用 Delphi 10.4 Sydney

0 投票
1 回答
394 浏览

delphi - 重温:TClientDataset“缺少数据提供者或数据包”

使用动态创建TFDQuery的 , TClientDataSetTDataSetProvider我遇到了“缺少数据提供者或数据包”的代码:

请注意,创建的TDataSetProvider有一个所有者,基于这个答案

如果 DatasetProvider 没有所有者,则 ClientDataSet 无法获取对提供者的引用

但我仍然得到错误。打开第TFDQuery一个显示它有数据。

可能是什么原因?

在 Delphi 10.4 中使用 FireDAC。悉尼在 Win32 应用程序中。

0 投票
0 回答
297 浏览

delphi - 我可以在 VCL 应用程序上显示 SVG 图像吗?

我知道 Delphi 10.4 可以在 Firemonkey 应用程序上显示 SVG 图像,但它可以为 VCL 应用程序做同样的事情吗?

谢谢你。

0 投票
2 回答
221 浏览

delphi - Delphi 10.4 本地化问题

我正在尝试德尔福 10.4。本地化 Windows 应用程序在过去就像一个魅力,但现在当我动态加载 RC DLL 文件时,它只更改 RCDATA,而不再更改“字符串表”。

我正在使用此代码(作为快速恢复)

FileName是具有资源(RCDATA 和“字符串表”)的 DLL 文件,我可以使用“Resource Hacker”软件进行编辑,并且可以看到它包含预期的“字符串表”内部。

它适用于 RCDATA(所有表格都被翻译)但不再包含Resourcestring在任何.pas文件的部分中的“字符串表”,并且所有字符串都保留在原始语言中。

它在以前的 Delphi 版本(如 10.2)中运行良好,我不知道为什么它在这个版本中失败。

0 投票
1 回答
287 浏览

delphi - Delphi FMX FormStyle StayOnTop only while app is active

Delphi 10.4 FMX desktop project

I create a form and set its FormStyle to StayOnTop. The window works as expected, staying on top of other windows in the project.

But when the app goes into the background, this form stays on top of all other apps. How do get this window to go into the background like all the other windows in the project?

0 投票
1 回答
146 浏览

delphi - LiveBindings TObjectBindSourceAdapter

我正在玩 LiveBindings,但我无法让 TObjectBindSourceAdapter 工作。我不会更改对象的属性。我也试过这个例子。同样的问题。

我有一个 FMX 应用程序,表单上只有一个复选框

然后我做了一个简单的类:

然后我使用设计器进行了绑定:

在此处输入图像描述

我创建了适配器:

并在 CheckBox 中添加了一个 OnChangeEvent:

但是,如果我在其中设置断点,SetTest它永远不会到达那里。

我错过了什么?

该项目可以在这里下载

0 投票
1 回答
93 浏览

delphi - 德尔福。如何阻止编辑器自动插入评论?

例如,在 Delphi 10.4 Sydney 中,如果您选择一条评论,//xxx然后按下{键盘上的 press,编辑器将自动将选定的文本/评论替换为{//xxx}.

预期的行为将是仅{在屏幕上显示,而不是{//xxx}.

我该如何阻止这种行为?

我禁用了我所有的 IDE 专家,所以这必须来自 IDE 本身。

0 投票
1 回答
113 浏览

delphi - 什么是“在标签上显示图像”?

我正在疯狂配置我的 IDE。很多事情都是用古老的 Borland-help 风格解释的。

例如,在“编辑器->显示”下,可以找到一个名为“在选项卡上显示图像”的新功能。以及它的帮助页面:

“在代码编辑器的每个选项卡上显示一个图标”。

哦...帮助页面的荣耀!

那么,有谁知道这意味着什么?如果我启用/禁用它,我看不到我的编辑器外观有任何变化。

0 投票
1 回答
243 浏览

delphi - 如何解决错误“E2010 不兼容的类型:'TGUID' 和 'T'”?

这对我来说有点令人费解,因为我正在开发一个具有几十个接口的单元,这些接口都基于这个基本接口定义:

这意味着他们都有一个方法“This”,它返回接口后面的类,有时需要放入列表视图和东西,但对于这个问题,这并不重要,因为我想要一个具有附加功能的泛型类可以应用于任何派生接口。(并且任何派生接口都有自己的 GUID。)这是泛型类:

看起来不太复杂,使用类方法是因为 Delphi 不支持全局泛型函数,除非它们在一个类中。所以在我的代码中,我想用它Cast<ISomeObject>.Has(SomeObject)来检查对象是否支持特定的接口。如果可能,该Get()函数只是将对象作为特定类型返回。所以,接下来的实现:

这就是令人讨厌的地方!在我使用的代码的其他地方,if (Source.QueryInterface(ISomeObject, SomeObject) = 0) then ...它工作得很好。在这些通用方法中,ISomeObject替换为T并且应该可以正常工作。但它拒绝编译并给出此错误:

[dcc64 错误] DataInterfaces.pas(684):E2010 不兼容的类型:“TGUID”和“T”

这很烦人。我需要解决这个问题,但如果不深入研究系统单元的接口代码,就找不到合适的解决方案。(这是我被允许在此代码中使用的唯一单位,因为它需要在许多不同的平台上运行!)
错误是正确的,因为 QueryInterface 需要一个 TGUID 作为参数,但它似乎是从 ISomeObject 获取的。那么为什么不来自 T 呢?
我想我在这里尝试做不可能的事情......


更具体一点:Source.QueryInterface(ISomeObject, SomeObject)无需使用任何其他单元即可正常工作。因此,如果该类型仅限于接口,我希望它可以与泛型类型一起使用。但事实并非如此,我想知道为什么它在接受 ISomeObject 时不接受 T。
你能解释一下为什么它会因泛型类型而不是常规接口类型而失败吗?