问题标签 [delphi-10.3-rio]
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 10.3社区版在哪里可以添加常用库路径
我刚刚安装了 10.3 Rio Community 版本,并正在尝试向其中添加 mORMot-libraries。
但我找不到我应该在哪里添加它。
在我的 XE6 版本中,它位于工具菜单中,但在 10.3 中我找不到它。
delphi - 升级后的自定义组件无法编译
我们目前正在考虑将我们的一些 Delphi 应用程序从 XE7 升级到 10.3,并且我们的自定义组件遇到了问题。
我已经尝试了 2 个选项。
我已经复制,在 10.3 中打开,并重新编译了原始组件包。
我在 10.3 中创建了一个新包,添加了相关
.pas
文件的副本,并编译了一个新的.bpl
/.dpk
文件。
在这两种情况下,我都会得到一个可以安装到 IDE 中的包,它允许我将组件添加到新项目中。
但是,在这两种情况下,我都会"Can't resolve unit name "NewComponent""
进入 IDE,并且"Unit "NewComponent" not found"
当我尝试在项目中使用该组件时。
我记得这是以前的 Delphi 升级中的一个问题,但忘记了修复它的技巧。
delphi - Delphi TTimer 在 Win 10 中提供不寻常的结果
我有一个应用程序,允许我的用户打开和关闭计时器来跟踪他们在某项任务上花费的时间。计时器运行一个时钟,用于向用户显示经过的时间,就像秒表一样。
下面的代码已经像我认为的那样工作了几年。但是,当应用在 Win 10 上运行时,有时“时间”速率会在一个会话期间加快 2 或 3 倍。如果用户重新启动应用程序,它可能会以正常速度运行。
赢得 10 德尔福 10.3
delphi - Delphi 10.3 Rio - 是否需要初始化内联声明的记录变量?
我对 Delphi 10.3 Rio 内联变量声明感到非常兴奋。但是我遇到了一个奇怪的问题,似乎我需要在它被内联声明后初始化记录:
如果我在线声明 sr,则代码可以正常工作:
- //A(旧式声明)或上线
- //B(带初始化的内联声明)。
但是,如果我在线声明 sr
//C 然后它在 //D 行崩溃,分别在第 26222 行的 system.pas 中:
/li>
除了:
异常类 $C0000005 带有消息“0x0040ac98 的访问冲突:读取地址 0xfffffff9”。处理 Project8.exe (18928)
我会从地址 -6 假设字符串成员 sr.name 未初始化并且为零。
完整地说,Delphi 是新的 10.3 版本 1:Embarcadero® Delphi 10.3 版本 26.0.33219.4899 - 已安装更新 1
android - Delphi 10.3 Android 9 将下载的数据保存到共享下载文件夹
我正在使用 Delphi 10.3.1 Rio。我做了一个自我更新的应用程序。该应用程序根据 Android 9 的要求使用 HTTPS 从站点下载 APK。我已经在 Delphi 10.2.3 中使用了 2 年。这工作正常。我System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetSharedDownloadsPath, apnavn);
用来获取下载路径。
我确实阅读了TIdHTTP
之前和现在的新TNetHTTPClient
版本,因为旧版本不支持 Android 9 所需的 HTTPS。我被授予访问外部存储的权限。我下载到一个TMemoryStream
,并保存到共享下载路径。然后我执行Intent
更新应用程序。
这在 Android 6 上运行良好,但不会在 Android 9 上保存文件。我曾尝试请求权限TJManifest_permission.JavaClass.REQUEST_INSTALL_PACKAGES
,但没有询问,也没有授予。我已经搜索了互联网,没有找到任何解决方案。我希望有人能帮帮忙。
android - 如何在用 Delphi 编写的 Android 应用程序中读取 JPG EXIF 数据?
我需要使用 Android 应用(来自相机或画廊)拍照并检查其 EXIF 日期时间(以及其他几个属性)。我已经成功实现了 JPG 图像的接收并将其加载到 TStream 和 GUI Image 组件中。但我无法提取 EXIF 数据。
我已经尝试了以下代码(并且它是互联网上可用的变体):
但它返回“未检测到原始图像”错误。
如何读取 EXIF 数据?
PS 尝试了 CCR-EXIF 库,但它不会为 FMX 编译(整个代码中有太多 Ansi 引用)。
PPS 我已验证接收到的图像具有 EXIF 数据(将其从流中保存到其他位置并检查)
delphi - 显示模态时调用覆盖的 ShowModal 时出错
我正在使用显示为全屏的模态表单。ShowModal()
我设法通过覆盖虚拟方法来做到这一点。
这是我显示表单的过程:
在我的模态表单上,我有一个按钮可以让用户在全屏和普通模式之间切换。这是问题所在。我无法ShowModal()
再次调用该方法,因为出现错误:
无法制作可见的窗口模式
我能做些什么来解决这个问题?
android - Delphi Android 应用程序为我提供了图库中图像的副本。我如何获得原件?
试图从图库中获取图像 - 它工作正常,但我得到了重新压缩的副本。
我正在使用以下简单代码从 Android 上的图库中获取图像:
我订阅TMessageReceivedImagePath
并收到这样的图像:
一切正常,但有一个问题。出于某种原因,我从缺少 EXIF 的图库中获取了图像的副本。原始图像是 3000x400px 2.5mb,我得到 3000x4000px 3.45mb。我需要原件来读取它的 EXIF 数据。
我如何获得原始图像?
rest - 在 TRESTClient 中添加 CustomHeader
我需要在我的 restclient 中添加 CustomHeader 以添加 apikey。
在我的代码中我使用(FRESTClient 是 TRESTClient)
但是当我在提琴手上看到它时,它并没有在我的 http 标头中设置。做这个的方法是什么?
android - 如何在知道其 Jnet_Uri 的 Android 上将文件加载到流中?
我正在 Delphi 10.3 Rio 中编写一个 Android FMX 应用程序。在那里,我从图库中选择照片(通过TJIntent.JavaClass.ACTION_OPEN_DOCUMENT
)并取回Jnet_Uri
条目。我可以使用它们来读取图像 EXIF(使用 TJExifInterface)。现在我还需要将这些图像加载到流中以进行进一步处理。我该怎么做呢?
当我尝试将 Jnet_Uri 转换为uri.getPath
带有/document/image:26591
. uri.toString
给我content://com.android.providers.media.documents/document/image%3A26674
。TMemoryStream.LoadFromFile
无法从这两个路径加载:
无法打开文件“/document/image:26724”。没有这样的文件或目录
无法打开文件“/content:/com.android.providers.media.documents/document/image%3A26724”。不是目录
因此问题是,我如何知道 Jnet_Uri 将文件内容加载到流中?