问题标签 [delphi-xe8]
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 - Unicode 字符串上的 Length() 与 Sizeof()
引用 Delphi XE8 帮助:
对于单字节和多字节字符串,Length 返回字符串使用的字节数。UTF-8 示例:
对于 Unicode (WideString) 字符串,Length 返回字节数除以 2。
这就产生了重要的问题:
- 为什么在处理上存在差异?
- 为什么 Length() 没有做它预期的事情,只返回参数的长度(如元素的数量)而不是在某些情况下以字节为单位给出大小?
- 为什么它声明它将结果除以 2 用于 Unicode (UTF-16) 字符串?AFAIK UTF-16 最多为 4 字节,因此这将给出不正确的结果。
delphi - ZCompress 导致访问冲突 Delphi Xe8
在uses子句中使用ZLib库的 ZCompress();
函数System.Sensors, System.Sensors.Components
会导致此行的访问冲突
我该如何解决,或者有解决方法吗?iOS FMX 德尔福 Xe8
ios - 在 iOS 中横向打开项目在 Delphi XE8 中无法正确显示
当我在 iOS 中横向打开我的项目时,表单似乎向右旋转了 90 度,并且也不适合屏幕。
当我以纵向打开它时,我没有遇到任何问题。此外,当我将其转为横向时,它会正确显示。
有人对此有解决方案吗?
更新: 我已经下载了 XCode 5.1.1,所以我可以编译 iOS 7.1 这解决了旋转问题,但现在它并没有填满整个屏幕。
database - 如何在 Firemonkey Delphi XE8 的 TListbox 中不加载所有数据库记录
我在 Delphi Xe8 中有一个多设备项目。我有一个与数据库记录一起加载的 TListBox 组件。
问题是有时列表可能非常大,因此加载需要很长时间。所以我想部分加载它,当我向下滚动时加载新记录。我怎么做?
现在我使用 TFDQuery 加载表的每条记录。
更新: 经过一段时间后,我意识到问题不在于从数据库中加载所有记录,而在于在 TListBox 中创建所有 TListBoxItems。所以我仍然想做几乎相同的事情,但现在加载所有数据库记录,但不为所有记录创建 TListBoxItems。
delphi - Delphi XE8 - 使用 VCL 应用程序从 Parse 发送通知
我正在用 XE8 学习新的 Baas 技术。
我创建了一个小应用程序来使用 Parse 在 Android 手机上接收通知。从 Parse 网站发送通知消息时,一切正常。
但是,当我的 VCL 应用程序使用 BackendPush 组件发送通知时,手机中没有任何内容。
消息发送正确,因为我可以在 Parse 站点上看到它们。它们的状态不同于从 Parse 发送的状态。
这是我在 Parse 上的 VCL 消息状态:
在 Parse 网站上发送时:
我应该怎么做才能让我的 VCL 消息到达手机。
我的代码:
android - 将 apk 从 XE7 更新到 XE8 时出现签名证书错误
我的 Android apk 是由 XE7 开发的。现在我用 XE8 升级项目。安装 apk 到 Android 设备时 IDE 报告签名证书错误:
无法创建进程:无法安装 D:\GMTWork\SalesApp\Android\Release\SalesApp\bin\SalesApp.apk。失败 [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
Embarcadero 的解决方案是:
- 从您的 Android 设备手动卸载之前安装的应用程序。
- 将 RAD Studio 配置为在每次运行应用程序时执行全新安装。
我认为这些都不是好的解决方案。因为我的apk已经安装在很多手机上,所以我不能要求用户手动卸载或进行全新安装。
那么,谁有更好的解决方案呢?或者我的 apk 可以使用相同的签名证书吗?
delphi - 在非 Windows 平台上刷新文件缓冲区
我有一个日志组件,它使用 TByteStream 来存储日志内容,并使用 TFileStream 定期将它们写入磁盘。我需要确保在写入文件流后立即更新文件。到目前为止,我只知道 FlushFileBuffers(),这是一个 Windows 特定的函数。在其他 XE8 平台支持的平台上怎么做?
delphi - 无法在字符串中使用撇号
所以我只花了一个小时试图让它工作。我正在对 TWebBrowser 进行一些测试,因此我可以将我的发现应用到一个项目中。我想测试将内容加载到其中的不同方式(URL、LoadFromStrings() 和 EvaluateJavaScript())。问题是,无论如何我都不能将一个简单的字符串传递给最后一个方法,而不会错误地陷入撇号中。
看到#39了吗?如果没有它们,则发送的字符串根本不带撇号,因此生成的 JavaScript 脚本无效。如果它们仍然存在,我会在字符串的每一端得到两个撇号,仍然会弄乱脚本。这是什么?
android - 如何修改函数使其返回字符串数组
你能帮我用这个功能吗
我需要该函数GetDeviceRegeistrationID
返回一个注册 id 数组,所以我可以修改 Push 方法。
delphi - Infinite loop in parsing a string using pointer math
I have a routine that processes a C-like string, resulting in usual Delphi string:
The problem is the loop never exits. Debugging shows the line while P<>nil do
doesn't evaluate to False because P is '' at the end of processing, so the code tries to perform out-of-range operations on it. Since I didn't find any concise documentation on pointer math in Delphi, it's quite possible I'm at fault here.
EDIT: I've rewritten the function with everything read in mind like that:
I check for #0
in the inner case statement for "such \
strings"
being fed into the routine, i. e. a sequence of strings broken into pieces read from a source and then formatted one by one. So far this works great, however it fails to correctly parse '\\t'
as '\t'
and similar constructs, it returns just #9
. I can't really think of any cause. Oh, and the old version also had this bug BTW.