问题标签 [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.

0 投票
2 回答
901 浏览

delphi - Firemonkey TNumberBox - 新值在失去焦点之前不可用

使用TNumberBox控件(至少在 Windows 中,也可能是其他平台),当我输入新值,然后按下按钮 ( TButton) 保存更改时,在读取TNumberBox.Value属性时,它会在编辑之前返回原始值. 事实证明,直到控件失去焦点后才能访问此值。

现在用于保存更改的按钮,我故意禁用了它的CanFocus属性,以及我的应用程序中的所有按钮。这是因为在我使用的样式(Jet)中,焦点按钮看起来很糟糕(深灰色背景上的黑色文本)。更不用说,在移动平台上,就我而言,专注实际上是无用的。

否则,如果我不禁CanFocus用此保存按钮,则焦点将正确地从其上移开,TNumberBox并且其Value属性还可以。但是,当禁用CanFocus保存按钮时,焦点永远不会离开此控件,因此读取其Value属性会返回旧值。

如何在Value不将保存按钮更改为 的情况下确保属性返回正确的新值CanFocus

启用KillFocusOnReturn没有用,因为用户必须知道他们需要按“Return”或“Enter”,这不是一个选项。

笔记

如果您要利用该TNumberBox.OnChangeTracking事件,此问题也会持续存在。如果您甚至无法读取新值,我不确定此事件将如何有用。

0 投票
2 回答
876 浏览

delphi - Delphi XE8 的 TMemo 中的 PasswordChar

我花了几个小时在谷歌上搜索,看看是否有人分享了他们的文章,但空手而归。

如果可能的话,我想知道如何PasswordChar在 Delphi XE8中启用/禁用TMemo以隐藏用户输入,如TEdit. ? 也许通过一个复选框!

因此,当复选框被选中时,所有文本都变成星号,如果未选中复选框,所有文本都恢复正常..

0 投票
1 回答
2139 浏览

delphi - 单击ListBox中的空行时,EDelphi XE8“列表索引超出范围(-1)”

我最近从优秀的 Delphi 7 切换到 Embracadero Delphi XE8,现在我经常收到这个错误。每次我误点击任何 ListBox 中的空行时,它都会出现 - 这是我在 D7 中无法做到的。这是某种错误,还是我做错了什么?

UPD:这里是一个有问题的 ListBox 的 OnClick 过程:

它将玩家的选择保存到一个变量中,清除列表,然后根据情况将其传递到某个程序。正如我之前所说,在 DE7 中一切正常——我只是无法单击 ListBox 中的空行。

0 投票
1 回答
467 浏览

android - 如何确定地理坐标附近是否存在街道或地址?

我的程序在 WGS84 中为 google 计算新坐标(经度和纬度)。您如何验证这些坐标下是街道还是地址。

0 投票
3 回答
772 浏览

delphi - 展开树视图时不会显示添加的树项目

我有一个用 Delphi XE8 FMX 开发的 iOS/android 应用程序。

在应用程序中,我有一个带有树项的树视图。当我在展开同一个父节点时将树项添加到节点时,我需要 a) 从应用程序本身折叠并展开父节点,或者 b) 以编程方式执行此操作(见下文)以获取树项马上展示。我尝试调用“重绘”,但没有奏效。有更好的解决方法吗?有时当调用collapseall,expandall 就像我在下面做的那样,然后一些树节点变得无响应(不可选择),直到我第一次选择最顶部的树节点之后。

如何在不折叠/展开树视图的情况下立即显示动态添加的树项?

0 投票
2 回答
3010 浏览

delphi - 安装 Delphi 包因缺少 rtl170.bpl 而出现错误

目前我将一个项目从 Delphi XE 移动到 XE8。我们使用一个组件,但最新版本是针对 XE3 的,所以我获取代码并对其进行更改,直到它编译为止。现在我想安装设计时包,但我得到了缺少 rtl170.bpl 的错误。没有人提到 rtl170 只提到 rtl 库。我读了一些关于运行时包的东西,但在这个项目中,我在项目选项的包下没有这个菜单项。有什么建议吗?之前在这台计算机上安装了 Delphi XE,但我在安装 XE8 之前卸载了它。

0 投票
1 回答
3179 浏览

sockets - ¿ 如何从 tidtcpclient 和 tidtcpserver 发送和接收字符串并创建聊天?

我是 delphi languaje 的新手,我正在使用 Rad Studio 让应用程序在每台设备上运行,只需一次编程。现在我应该使用套接字进行聊天,我只使用 tclientsocket 和 tserversocket 使用下一个代码为 Windows 进行了聊天,我想做的是做出确切的事情,但使用 tidtcpclient 和 tidtcpserver 而不是 tclientsocket 和 tserversocket

服务器:

客户

0 投票
1 回答
558 浏览

sockets - 需要从 TServersocket 向 TidTcpClient 发送数据

我正在使用 Delphi XE8 开发移动应用程序和桌面应用程序。在移动应用程序中,我使用 TIDtcpClient 组件,在桌面应用程序应用程序中,我使用 TServerSocket。

服务器桌面应用程序包含包含大约 1500 条记录的 TList。为了在客户端移动应用程序中获取这些值,我使用以下方法。

  1. 首先,下载请求从客户端移动应用程序发送到服务器应用程序。
  2. 接下来,它检索 10 条记录并发送回客户端移动应用程序。在此之后,它更新客户端列表中的值,然后再次将请求发送回服务器应用程序。
  3. 直到记录数达到,这个过程继续。

问题是当我采用这种方法时,它需要将近 2 分钟的时间,并且我正在正确获取所有数据。所以我决定使用文件流方法。下面我提到了示例代码:

服务器端应用程序:

客户端移动应用程序:

当我使用上述方法时,我得到了异常,我无法检索数据。

请为我提供任何解决方案以更快地从服务器到客户端检索数据。

0 投票
1 回答
732 浏览

delphi - Firemonkey 自定义组件

我正在尝试在 Delphi XE8 上为 FireMonkey 创建一个跨平台组件...

但我面临一些问题。虽然对象检查器中的属性“宽度”和“高度”显然要编译,但大小设置被忽略了。当我重新打开项目时,我的组件也很小。(我注意到宽度和高度设置没有保存到 DFM 文件中)。

注意:FireMonkey 的所有其他本机组件都可以正常工作,只是我的自定义没有。

有什么问题?

0 投票
3 回答
586 浏览

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 在主窗体之前发布?

代码示例:

主要单位:

项目文件: