问题标签 [delphi-xe3]
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.
sql-server - Delphi XE 3 LiveBindings AutoInc SQL Server
我有一个带有 LiveBindings 到 SQL Server 的 Delphi XE3 Firemonkey 应用程序。我可以连接并查看网格上的所有数据。我有一个字段(“id”),它是 SQL(通常称为 AutoInc)上的“身份字段”。
当我尝试添加记录时,我得到“字段 'id' 必须有一个值。”
过去,解决此问题的方法是关闭必填字段布尔值。(例如,使用 DBISAM,您可以使数据库本身中的字段不是必需的,并且数据库引擎会在它到达那里时将其填充,但您不能在 MSSQL 中创建不需要的标识字段。)
我已经关闭了对 TField 本身的要求,但这没有任何效果。
delphi - firemonkey xe3 xe2 TPath
执行时遵循代码路径在 xe2 中是匀称的,但在 xe3 中是荒谬的。
delphi - Firemonkey拖动图像未显示在屏幕上
以下第一张图片取自虚拟机,第二张取自真实电脑。为什么我在真机上看不到拖动图像?
虚拟机
真正的电脑
delphi - 为什么 WebApplication.SendFile 因“已设置回复类型”而失败?
脚步:
- 我使用
IntraWeb Application Wizard
. - 我在表格上放了一个 TIWButton。
- 我将此代码放入 OnClick 事件处理程序中:
WebApplication.SendFile('D:\Temp\ClearAll.sql');
单击该按钮会引发Exception
带有消息的类型异常Reply type already set
。
任何想法出了什么问题?
Delphi 是带有 IntraWeb XIV 的 XE3。
我对 Deplhi 2007 (IntraWeb 9) 进行了同样的尝试,它可以工作,所以这似乎是 IntraWeb XIV 中的一个错误。
有人可以确认一下吗?
delphi - Firemonkey livebindings 自定义网格列
我正在尝试将一些自定义列添加到 TGrid,例如将包含 TCalendarEdit 的列并将其实时绑定到 DB。
我想出了两种方法来实现这样的事情。
将 CalendarEdit 放在所有行中。
问题是:我可以创建自定义 TCalendarEdit 列, 可以将其放入 Grid 中, 但随后我将它绑定到数据集 ,它会下降到默认字符串列视图!
TDateColumn = class(TColumn)
protected
function CreateCellControl: TStyledControl; override;
end;
function TDateColumn.CreateCellControl: TStyledControl;
begin
Result := TDateCell.Create(grid);
Result.Parent := grid;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
cec: TDateColumn;
begin
cec:=TDateColumn.Create(grid1);
grid1.AddObject(cec);
end;LinkGridToDataSource1.Columns.Items[LinkGridToDataSource1.Columns.Count-1].MemberName:='date';
在网格单元格上绘制一个控件,然后单击并销毁它,然后单击网格上的任何其他位置(并将其数据写入网格)。
问题是:如何获取单元格 OnClick 的坐标和大小?
谢谢你。
performance - 在 XE3 中使用自动更新进行实时绑定(无需像在 XE2 中那样调用 Notify())
我目前正在使用 Delphi XE2,并听说了他们在 XE3 中使用自动更新的新实时绑定(无需像在 XE2 中那样调用 Notify())。
在 C# 或 Delphi XE2 中,我们必须实现INotifyPropertyChanged
(Notify();
在 Delphi 中),这种方法非常有意义,因为我们可以完全控制要更新的内容以及何时更新它,这样我们就可以微调性能并轻松实现虚拟化。
但我只想知道它是如何工作的,他们为了实现它做了什么样的机制,我不知道他们是如何做到的,以下是可能用于实现自动更新的假设。
Timer : 一个计时器频繁滴答并刷新所有数据
性能非常慢,没有虚拟化
编译器级别功能:
notify() events
编译器自动执行的所有相关代码很多过头
其他一些方法:
请帮助我确定他们是如何实施它的。
我目前正在使用 XE3 试用版,因此无法访问源代码,您的回答将帮助我决定是否切换到新功能。
我有一个类(集合项),它有 400 个要绑定的属性(并非一直都是),所以性能确实对我的应用程序的稳定性起着重要作用。
delphi - 我可以在 Delphi 中创建特定接口的通用列表吗?
在 C# 中,我可以创建一个包含特定接口的通用列表,例如:
我可以在 Delphi XE3 中做同样的事情吗?如果可以,怎么做?
我知道我可以创建一个 TInterfaceList 来存储接口列表,但它不是强类型的,所以在使用列表中的对象时我仍然需要强制转换。
有没有一种强类型的方法来做到这一点?
macos - Filesetattr 不适用于 XE3 (Firemonkey)
我想用 Firemonkey (XE3) 在 macosX 环境下创建一个隐藏的 ini 文件。但不幸的是,这个命令在 system.utilys 中已经不为人知了
有人提示?
delphi - Delphi XE - System.Pos 函数的更快替代方案
我知道许多来自 FastStrings 的代码已包含在 Delphi XE 中。我需要处理数千个文件并进行一些文本处理。System.Pos例程是否有“更快”的替代方案?
delphi - Delphi XE2 RTTI坏了?
我最近从 D2010 迁移到 DXE2,并在 XE2 和 XE3(在我的朋友 XE3 中测试)中发现了一个与类内 TBytes 字段的 RTTI 生成相关的惊人错误(或功能?)。
我发现永远不会生成类中 TBytes 变量的 RTTI 信息。
以下代码在 D2010 中运行良好,但在 XE2/XE3 中显示消息“错误”
有没有人有任何线索?这将完全破坏我们所有的软件数据序列化实现
要测试代码,请将 Rtti 单元添加到使用声明中
当检查 Field2 是 TBytes 时将显示错误消息,因为 FieldType 始终为 nil !!!
有人知道从 D2010 到 XE2 的 RTTI 发生了什么变化吗?可能是因为 TBytes 类型从 Byte 数组更改为泛型数组?