问题标签 [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 - Firemonkey TNumberBox - 新值在失去焦点之前不可用
使用TNumberBox
控件(至少在 Windows 中,也可能是其他平台),当我输入新值,然后按下按钮 ( TButton
) 保存更改时,在读取TNumberBox.Value
属性时,它会在编辑之前返回原始值. 事实证明,直到控件失去焦点后才能访问此值。
现在用于保存更改的按钮,我故意禁用了它的CanFocus
属性,以及我的应用程序中的所有按钮。这是因为在我使用的样式(Jet)中,焦点按钮看起来很糟糕(深灰色背景上的黑色文本)。更不用说,在移动平台上,就我而言,专注实际上是无用的。
否则,如果我不禁CanFocus
用此保存按钮,则焦点将正确地从其上移开,TNumberBox
并且其Value
属性还可以。但是,当禁用CanFocus
保存按钮时,焦点永远不会离开此控件,因此读取其Value
属性会返回旧值。
如何在Value
不将保存按钮更改为 的情况下确保属性返回正确的新值CanFocus
?
启用KillFocusOnReturn
没有用,因为用户必须知道他们需要按“Return”或“Enter”,这不是一个选项。
笔记
如果您要利用该TNumberBox.OnChangeTracking
事件,此问题也会持续存在。如果您甚至无法读取新值,我不确定此事件将如何有用。
delphi - Delphi XE8 的 TMemo 中的 PasswordChar
我花了几个小时在谷歌上搜索,看看是否有人分享了他们的文章,但空手而归。
如果可能的话,我想知道如何PasswordChar
在 Delphi XE8中启用/禁用TMemo
以隐藏用户输入,如TEdit
. ? 也许通过一个复选框!
因此,当复选框被选中时,所有文本都变成星号,如果未选中复选框,所有文本都恢复正常..
delphi - 单击ListBox中的空行时,EDelphi XE8“列表索引超出范围(-1)”
我最近从优秀的 Delphi 7 切换到 Embracadero Delphi XE8,现在我经常收到这个错误。每次我误点击任何 ListBox 中的空行时,它都会出现 - 这是我在 D7 中无法做到的。这是某种错误,还是我做错了什么?
UPD:这里是一个有问题的 ListBox 的 OnClick 过程:
它将玩家的选择保存到一个变量中,清除列表,然后根据情况将其传递到某个程序。正如我之前所说,在 DE7 中一切正常——我只是无法单击 ListBox 中的空行。
android - 如何确定地理坐标附近是否存在街道或地址?
我的程序在 WGS84 中为 google 计算新坐标(经度和纬度)。您如何验证这些坐标下是街道还是地址。
delphi - 展开树视图时不会显示添加的树项目
我有一个用 Delphi XE8 FMX 开发的 iOS/android 应用程序。
在应用程序中,我有一个带有树项的树视图。当我在展开同一个父节点时将树项添加到节点时,我需要 a) 从应用程序本身折叠并展开父节点,或者 b) 以编程方式执行此操作(见下文)以获取树项马上展示。我尝试调用“重绘”,但没有奏效。有更好的解决方法吗?有时当调用collapseall,expandall 就像我在下面做的那样,然后一些树节点变得无响应(不可选择),直到我第一次选择最顶部的树节点之后。
如何在不折叠/展开树视图的情况下立即显示动态添加的树项?
delphi - 安装 Delphi 包因缺少 rtl170.bpl 而出现错误
目前我将一个项目从 Delphi XE 移动到 XE8。我们使用一个组件,但最新版本是针对 XE3 的,所以我获取代码并对其进行更改,直到它编译为止。现在我想安装设计时包,但我得到了缺少 rtl170.bpl 的错误。没有人提到 rtl170 只提到 rtl 库。我读了一些关于运行时包的东西,但在这个项目中,我在项目选项的包下没有这个菜单项。有什么建议吗?之前在这台计算机上安装了 Delphi XE,但我在安装 XE8 之前卸载了它。
sockets - ¿ 如何从 tidtcpclient 和 tidtcpserver 发送和接收字符串并创建聊天?
我是 delphi languaje 的新手,我正在使用 Rad Studio 让应用程序在每台设备上运行,只需一次编程。现在我应该使用套接字进行聊天,我只使用 tclientsocket 和 tserversocket 使用下一个代码为 Windows 进行了聊天,我想做的是做出确切的事情,但使用 tidtcpclient 和 tidtcpserver 而不是 tclientsocket 和 tserversocket
服务器:
客户
sockets - 需要从 TServersocket 向 TidTcpClient 发送数据
我正在使用 Delphi XE8 开发移动应用程序和桌面应用程序。在移动应用程序中,我使用 TIDtcpClient 组件,在桌面应用程序应用程序中,我使用 TServerSocket。
服务器桌面应用程序包含包含大约 1500 条记录的 TList。为了在客户端移动应用程序中获取这些值,我使用以下方法。
- 首先,下载请求从客户端移动应用程序发送到服务器应用程序。
- 接下来,它检索 10 条记录并发送回客户端移动应用程序。在此之后,它更新客户端列表中的值,然后再次将请求发送回服务器应用程序。
- 直到记录数达到,这个过程继续。
问题是当我采用这种方法时,它需要将近 2 分钟的时间,并且我正在正确获取所有数据。所以我决定使用文件流方法。下面我提到了示例代码:
服务器端应用程序:
客户端移动应用程序:
当我使用上述方法时,我得到了异常,我无法检索数据。
请为我提供任何解决方案以更快地从服务器到客户端检索数据。
delphi - Firemonkey 自定义组件
我正在尝试在 Delphi XE8 上为 FireMonkey 创建一个跨平台组件...
但我面临一些问题。虽然对象检查器中的属性“宽度”和“高度”显然要编译,但大小设置被忽略了。当我重新打开项目时,我的组件也很小。(我注意到宽度和高度设置没有保存到 DFM 文件中)。
注意:FireMonkey 的所有其他本机组件都可以正常工作,只是我的自定义没有。
有什么问题?
android - 德尔福 XE8。FMX。为什么 Android 平台上 CLASS VAR 的发布顺序不同?
使用 Delphi XE7 Update 1 和 Delphi XE8 测试
在 Windows OS (7 SP1 x64)、MACOSX (10.10.3) 和 Android (5.0.2) 上创建订单:
Windows OS 和 MACOSX 的发布命令:
Android上的发布顺序:
问题是:为什么在 Android 平台上 CLASS VAR 在主窗体之前发布?
代码示例:
主要单位:
项目文件: