当我在TClientDataSet中新插入的记录中使用以下代码时:
cdsMyDateField.OldValue <> Null
Run Code Online (Sandbox Code Playgroud)
我得到一个EConvertError:
''0.0' is not a valid timestamp'.
Run Code Online (Sandbox Code Playgroud)
看看Delphi的VCL代码,它试图将值转换为TDateTime,这导致了这个Exception,因为值(Null)是一个无效的DateTime,但是当我比较Variants时我认为它会返回一个变量,这将是Null在这种情况下,但这不会发生,而是我得到这个例外.
我知道我可以在比较值之前检查DataSet.State = dsInsert,就像State = dsInsert每个OldValue都是Null一样,但我想理解为什么OldValue尝试转换值而不是Just all Null in all State = dsInsert时的字段.
任何人都可以给我一些亮点吗?
我正在尝试使用Indy通过delphi应用程序发送包含嵌入图像的电子邮件,但不知何故它无法正常工作.
我将我发送的电子邮件的内容与从Gmail发送的电子邮件的内容进行了比较,所有内容都很好,但我可能会遗漏一些细节.
Gmail会将我的电子邮件的附件图像显示为普通附件,但它已正确设置为内联.
编辑
使用TIdMessageBuilderHtml解决了它在第一次尝试时完美的工作.