问题标签 [delphi-xe]

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 投票
1 回答
1473 浏览

c - 在 Delphi 2007 中链接多个 C 对象文件时出错

我是德尔福的新手。我试图在我的 Delphi 项目中添加 C 对象文件并直接链接它们,因为 Delphi 支持 C 对象链接。当我链接一个对象文件时,我得到了它的工作。但是当我尝试链接多个目标文件时,我收到错误“不满意的转发或外部声明”。我在 Delphi 2007 和 XE 中都试过这个。那么我在这里做错了什么?

工作代码:

错误代码:

0 投票
2 回答
4158 浏览

delphi - Delphi XE中的'VarToStr'?

我试图将旧项目从 Delphi 5 迁移到 Delphi XE。当我现在尝试编译项目时,出现此错误:

关于这一行:

它在 Delphi 5 中运行良好,据我所知,XE 也支持 VarToStr?

0 投票
2 回答
413 浏览

delphi - Delphi XE 32 位有符号表示

有谁知道 Delphi XE 中的 32 位签名表示是否已更改?

我有以下代码,在 Delphi 5 中运行良好:

但是,当我尝试使用 Delphi XE 编译它时,我收到以下错误消息:

在某些元素中,例如:
$EE0E612C
$990951BA
$E963A535
(和其他,但不是全部)。

有谁知道为什么会这样?

提前致谢!

0 投票
4 回答
691 浏览

delphi - 在其他哪些 Delphi 版本中,带有 Cardinals 的 for 循环会失败?

请帮助我进行回归测试,并确定以下代码在哪些 Delphi 版本中失败。

编辑: 我知道它有一个编译器提示;事实上,在我继承的一个项目中发现,不知何故关闭了编译器提示(我看到很多人这样做,因为他们认为编译器提示总是无害的,这个案例表明它不是)。
我仍然想知道这个编译器异常出现在哪些 Delphi 版本中,以用于文档目的。

在 Delphi XE、2009、2007 和 5 中,它失败并显示以下输出。
我还没有时间研究其他 Delphi 版本。
请帮助我,并回答其他哪些 Delphi 版本也失败了。

这也是QC 90921的一部分的代码:

编辑: 答案摘要;它在这些 Delphi 版本中失败:

  • 5
  • 6
  • 7
  • 2006年
  • 2007年
  • 2009
  • 2010
  • XE

——杰伦

0 投票
2 回答
10494 浏览

delphi - 如何使用 Delphi RTTI 获取和设置记录值

我正在尝试使用 Delphi XE 或更高版本中增强的 RTTI 功能来读取和写入 XML 对象。到目前为止,我在整数、浮点数、字符串、枚举类型、集合和类方面取得了成功,但无法正确输出或读取记录。问题似乎是获取一个指向记录属性的实例(指针)。

我怀疑如果我能弄清楚如何获取这些值,那么设置它们应该不是问题。然后进入数组,哦,天哪!

更新:请见下文。(迁移为单独的答案以提高可见性)。

0 投票
2 回答
1508 浏览

delphi - Delphi XE 上的 ERangeError

我正在将软件从 Delphi 5 迁移到 Delphi XE。我已经纠正了很多差异,现在我可以编译我的代码了。

发生的问题是有时(在代码的某些地方),我收到错误“范围检查错误”。

例如,在此代码中:

通过 Des[Counter-1] := ' '; 行时,我在运行时收到错误消息 错误不是在第一次通过循环时发生,而是在很多次之后发生。

我试图禁用 Rance Checking ($R) 但它并没有解决我的问题。我还尝试将“计数器”的类型更改为 Cardinal 和 LongWord,但没有成功

我会很高兴有任何有用的想法!

谢谢。

0 投票
2 回答
2037 浏览

delphi - 将对象暴露给 Fastreport

我使用 FastReport(评估版)主要是打印发票和报价单。我试图保持我的数据源和应用程序逻辑之间的分离,所以我想知道是否有一种简单的方法可以将 Delphi 对象直接公开给 FastReport。目前,我正在使用自定义数据源,但这需要大量手动操作。

基本上,我想使用我已经实例化的 TInvoice 对象并使用 FastReport 打印它。

有没有人实现了一个共同的祖先类或接口来将 Delphi 对象作为数据源公开给 FastReport(或其他报告工具)?

编辑:我正在使用 Delphi XE。

0 投票
3 回答
1365 浏览

delphi - 我应该在 Delphi 中使用哪个版本的 IMalloc?

我正在尝试在 Delphi XE 中重构一个 Delphi 5 项目,为此我需要修复一个名为 BrowseDr 的单元中的一些错误。我得到的错误是

“MyShlObj”:

现在 FShellMalloc 声明中使用的 IMalloc 派生自一段OLE2.IMalloc 时间,“MyShlObj”中使用的 IMalloc 来自ActiveX.IMalloc.

有可能改变其中之一吗?如果是,是否推荐?

0 投票
1 回答
803 浏览

delphi - Sqlite WHERE 子句和 Delphi XE 长字值

在 Delphi XE 中,我将字符串的 crc32 哈希存储在 SQlite 数据库中,在声明为 INTEGER 的列中。我的理解是 SQlite 不区分整数类型:int、int64、有符号和无符号,就数据库而言,它们都是相同的。但是,当我在 Delphi 中存储声明为 longword 的值时,WHERE 子句稍后无法匹配该值。

我的插入语句(此处删减)是:

长字值绑定到第二个参数,一切顺利。但是当我这样做时

查询不返回任何结果。

在SQLiteSpy中查看数据库,长字值显示为负整数。如果我使用从该显示复制并粘贴的负值执行上述 SELECT,则查询将返回预期的记录。

似乎当我将长字值绑定到 INSERT 语句时,SQLIte 会在我将相同的长字值绑定到 SELECT 语句时执行其他操作。将值转换为整数(在 Delphi 代码中,而不是在 SQL 中)可以解决问题,但这不是必需的,而且很容易忘记在其他地方进行转换。有更好的解决方案吗?SQLite 的行为是否正确?

0 投票
2 回答
564 浏览

delphi - 创建 Tform2 时显示消息?

我想在创建 Tform2 时向用户显示一条消息。我使用此代码,但效果不佳。