问题标签 [delphi-xe7]

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 投票
8 回答
9526 浏览

delphi - Delphi中的EProgrammerNotFound异常?

在 Delphi 2009 中,SysUtils.pas 在第 425 行包含以下内容:

  • 这只是一个复活节彩蛋还是严重的事情?
  • 什么时候应该提出这个例外?
  • 它是否也存在于 Delphi Prism 和/或 Free Pascal 中?

问:这个异常类还在 Delphi(目前是 XE7)中声明吗?A: 是的,它甚至被记录在案

指示软件故障的非标准方式。

您可以使用 EProgrammerNotFound 作为替代方法来指示在运行时检测到的软件故障。

0 投票
1 回答
13387 浏览

delphi - Delphi xe7中无法删除控件

刚刚安装了Delphi xe7。打开一个用 XE7 开发的项目。旁注,但我首先担心的是一切都会导致 IDE 挂起,无论是将“视图”从 Master 更改为 iPhone4,还是只是在设计视图中拖动控件。我以前有一个工具单元,它具有接受 TComboEdit 参数的功能。似乎他们再次移动了东西,因为该功能现在已损坏。为了快速找出哪个单元承载组合编辑,我打开了一个表单,将一个组合编辑放下并保存。酷,现在我知道有一个 FMX.ComboEdit 单元。我尝试删除组合编辑,这就是我得到的:Selection contains a component, ComboEdit1, introduced in an ancestor and can not be deleted.

对于我在表单上放置的任何新控件也是如此,例如,即使是 TEdits。什么都删不掉。快速谷歌搜索引用 TGrids 和列...在我的表单上,只有布局和 TabControl,其中新放置的控件位于 TabItem 内。好的,也许 TabItems 存在类似的错误,所以我尝试移动控件,使表单成为其父级。但是,IDE 挂起大约 30 秒并且不会执行任何操作。

如何在Delphi xe7中删除这些控件?

0 投票
1 回答
4650 浏览

delphi - 使用 Delphi XE7 FMX 运行终端命令

如何通过 Delphi xe6-7 OSX 应用程序运行终端命令?例如,我想运行一个从 iTunes 播放列表返回所有曲目名称的脚本。

我看到 VCL 和 WINDOWS 我可以运行 ShellExecute() 函数,但我似乎无法在 FMX 中找到 OSX 的等价物

0 投票
1 回答
1457 浏览

android - 使用 datasnap 从客户端数据集加载图像时出错 [Delphi XE7,firemonkey mobile]

我正在使用 Delphi XE7,Firemonkey Mobile。在 W32 和我的 Nexus4 (Android 4.4.4) 上都试过了。

问题:从客户端数据集加载图像时出现以下错误 1. 远程错误:[FireDAC]{Phys][fB]-306。命令文本不能为空。(连接) 2. 套接字错误,即使 CDS 已包含数据(无连接)

Firebird DB --> Firedac --> Datasnap [服务器] --> DBX 连接 --> DSProviderconnection --> Clientdatasets

服务器上的 datasetprovider 设置了以下选项: - poFetchBlobsOnDemand - poAllowCommandText

加载的字段确实是一个 blob 字段并且确实包含数据。

0 投票
1 回答
889 浏览

android - Delphi XE7 TbannerAd 未在 Android 上显示广告

我正在尝试通过 Delphi xe7 中的 TBannerAd 组件测试运行一些 admob 广告,以查看它是否可以在 ios 和 android 上运行。

经过测试,广告似乎在 IOS 上加载,但在 Android 上没有任何反应。

我检查了清单文件并确保它具有活动和元数据。我不确定问题是什么。

有人可以解释一下吗?

0 投票
0 回答
1968 浏览

ios - 在 Delphi Xe7 Firemonkey 中创建自定义移动样式

我想知道是否有人知道如何在 Delphi xe7 中从头开始创建自定义样式/设计。我能够实现的是通过替换包含样式的位图文件并重新着色并将其保存为新样式来编辑以前的样式。这对短期来说是好事。该方法只允许在创建新样式时进行细微更改,我想知道是否有办法创建这样的样式 - http://www.pixeden.com/mobile-apps/ligavit-iphone-app-ui-套件-psd。我真正想要实现的是一个非常吸引人的外观。我有一位在 Photoshop 方面有丰富经验的设计师,我只是在寻找一种将复杂样式适应到 Delphi xe7 中的方法。如果有人可以提供帮助,将不胜感激!

0 投票
1 回答
872 浏览

delphi - 与 LiveBindings 和数据集一起使用时如何使 TProgressColumn 工作

我的目标是拥有一个包含多个列的 TGrid,通过 LiveBindings 连接到 TClientDataSet。其中一列是 TProgressColumn 类型。

网格显示数据,但进度条列不显示任何内容(即 0% 进度)。

TProgressColumn 连接到 ftInteger 类型的字段。此字段中的值介于 0 和 100 之间。

我尝试过使用 ftSingle,但没有运气。我通过 ColumnStyle 属性将列的类型设置为 TProgressColumn,该属性在 TLinkGridToDataSourceBindSourceDB/Columns 下可用。

奇怪的是,当我使用 TPrototypeBindSource 生成值时 - TProgressColumn 有效,但仅适用于 ftUInteger 值。ftInteger 生成器失败。

这是一个小演示(Delphi XE7):

TProgressColumn 问题

当我在 TProgressCell.DrawCell() 中放置一个断点并跳过 Value.IsOrdinal 和 Value.IsType 的两个条件时,ClampValue 接收到一个值为 0 的“Min”。该值似乎有问题,通过到功能。

使用 TProgressColumn 时有什么特别之处吗?我需要在 TLinkGridToDataSourceColumn 中使用 CustomFormat、CustomParse 吗?

这是一个错误还是我错过了什么?

更新: 感谢“nompa”,谜团解开了!

事实上,“asInteger”是 TField 类的众所周知的属性,即:

TProgressColumn - 已解决!

在 CustomFormat 属性中,您可以访问许多东西,包括 self.asInteger 属性。更多信息在这里:

  1. 在 LiveBindings 中使用自定义格式和解析表达式
  2. 在 TLinkPropertyToField 组件的 CustomFormat 属性中使用绑定表达式
  3. 格式化你的字段
  4. 如何将整数字段视为布尔值?
0 投票
2 回答
1749 浏览

android - 调试器似乎无法连接到 Android FM 应用程序

昨天我用 Mobile Add On Pack 安装了 Delphi XE7。不幸的是,我无法调试在附加的 android 设备(Galaxy S5 / Asus Tablet)上运行的应用程序。

经过几个小时的实验,我可以报告以下内容(基于新创建的应用程序):

源代码被编译,应用程序启动(显示初始屏幕),然后显示 MainForm(应用程序似乎运行正常)。Delphi 编译窗口保持打开状态(我想永远)。取消编译窗口会显示“gdbserver”启动错误。使用另一个调试端口会导致以下结果:

源代码被编译,应用程序启动,然后显示黑屏。Delphi 编译窗口关闭,Delphi 保持在开发模式(意味着 START/DEBUG 按钮保持启用状态,STOP 被禁用)。

我已经使用 XE6 工作了几个星期。一开始我遇到了类似的问题,我通过使用另一个调试端口或使用“adb kill-server”然后是“abd usb”来解决。使用 XE6 创建的应用程序在安装 XE7 之前正常运行,现在显示类似的问题(使用 XE6)。

设备已正确连接。“adb reboot”重启设备。SDK 管理器设置似乎是正确的。使用 Windows 7 64 位(终极版)。

几个月以来,我的 PATH 变量的长度出现问题,所以我通过删除未使用的条目来删除它。也许问题就在那里。

有没有人经历过类似的行为?

感谢任何帮助。

0 投票
2 回答
2805 浏览

delphi - 文本提示 Delphi XE7

在我向 Embacadero 提交 QC 报告之前,我想知道在 TEdit 和设置“TextPrompt”属性方面是否有一些我忽略的简单内容。

每当尝试设置任何 TEdit 的 TextPrompt 时,提示都不会显示。我是否错过了一个步骤,或者是否有一个简单的解决方法可以解决目前任何人都知道的这个错误?

Delphi XE7 for iOS ( FMX )

0 投票
1 回答
2174 浏览

json - 为什么 TJson.ObjectToJsonObject/ObjectToJsonString 将记录字段表示为 JSON 数组?

SuperObject 和 TJson.ObjectToJsonObject 表示类的某些部分(即记录字段)的方式不一致。让我们有以下代码片段:

输出是:

Delphi 将记录表示为 JSON 数组的原因是什么?是否有导致这种情况的公共标准或建议?

注意: 对我来说,用 {key: value} 表示法而不是数组来表示记录更自然。不知道值所属的键名可能会在反序列化期间产生奇怪的结果。例如,在反序列化期间,我可以传递一个具有相同布局的新类,其中包含具有不同内存布局的记录。在这种情况下,这些值将被随机分配或可能发生 AV?

更新: 我正在使用 Delphi XE7。我也发现了这个 json.org:

JSON 建立在两种结构之上:

  • 名称/值对的集合。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。
  • 值的有序列表。在大多数语言中,这被实现为数组、向量、列表或序列。

所以问题可能更多是关于这是 TJson 单元中的错误吗?