问题标签 [delphi]

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 投票
4 回答
8039 浏览

delphi - 如何修复此 delphi 7 编译错误 - “重复资源”

我正在尝试编译我继承的 Delphi 7 项目,但出现此错误:

[错误] 警告。重复资源:
[错误] 类型 2 (BITMAP),ID 编辑:
[错误] 文件 C:[路径缩短]\common\CRGrid.res 资源保留;文件 c:\common\raptree.RES 资源被丢弃。

它说警告,但它实际上是一个错误 - 编译没有完成。

看起来两个组件 - CRGrid 和 RapTree - 正在以某种方式发生碰撞。有没有人对如何解决这个问题有任何想法?

当然,除了从项目中删除一个组件之外。

0 投票
2 回答
862 浏览

delphi - Codegear RAD Studio 帮助系统已损坏

我已经使用Codegear RAD Studio一年多了,但自从“May08 帮助更新”以来,帮助系统不再工作。如果我打开帮助,内容窗格完全是空白的。如果我按 F1,我会收到以下错误: “无法解释指定的 HxC 文件。”

我已经使用搜索引擎和 Codegear 论坛搜索了答案,但到目前为止似乎没有任何解决问题的方法。如果可能的话,我宁愿不进行完全重新安装。有没有其他人遇到过这个问题并知道如何解决它?

0 投票
5 回答
1972 浏览

delphi - 在程序启动时获取 BPL 版本

是否可以在程序启动时检查客户端计算机上安装了哪个版本的 BPL(即 Rtl70.BPL、Indy70.bpl 等)?

我有一些程序崩溃,因为那里计算机上的 BPL 与构建机器上的不同。
如果我必须在每次更新时将每个 BPL 添加到安装程序中,我认为它会破坏使用它们的要点之一。

Delphi 7,如果它有所作为


只是跟进我遇到的问题。
构建计算机和客户端之间的 rtl70.bpl 文件仅略有不同。

客户端计算机:7.0.4.453 760 KB(778,240 字节),2002 年 8 月 20 日,星期二,下午 4:40:26
构建计算机:7.0.4.453 760 KB(778,240 字节)‎周五,‎9 ‎2002 年 ‎8 月‎,‏‎11:晚上 30:00

我使用的更新程序忽略了它们是相同的(内部版本号没有变化),但是当我手动删除并复制文件时,一切似乎都有效。

0 投票
7 回答
14200 浏览

c++ - Best resources for converting C/C++ dll headers to Delphi?

A rather comprehensive site explaining the difficulties and solutions involved in using a dll written in c/c++ and the conversion of the .h header file to delphi/pascal was posted to a mailing list I was on recently, so I thought I'd share it, and invite others to post other useful resources for this, whether they be links, conversion tools, or book/paper titles.

One resource per answer please, so we'll end up with the most popular/best resources bubbling to the top.

0 投票
3 回答
1085 浏览

database - 您可以在不创建锁定文件的情况下访问 Delphi DBIV 数据库吗?

我试图从 Delphi DBIV 数据库中读取数据,每次我访问数据库时,它都会创建一个 Paradox.lck 和一个 Pdoxusrs.lck 文件。我只使用 TQuery 对象来执行此操作(仅此而已)。我可以在不创建这些锁定文件的情况下访问 Delphi DBIV 数据库吗?

0 投票
3 回答
1244 浏览

delphi - 德尔福 7 和 Windows Vista

我有一个用 Delphi 7 制作的简单软件,一段时间后它在 Vista 上崩溃了。这些都是完全随机的崩溃,任何崩溃日志中都没有写入任何内容,只是停止工作,然后 Vista 试图找到解决方案。

有没有人有任何想法?

0 投票
5 回答
2264 浏览

xml - 如何使用 Delphi 从多个 EXE 实例管理对 XML 文件的并发输入/输出访问。

我有一个用 Delphi 编写的命令行工具,它的工作是在 XML 文件中插入一个节点,然后立即退出。我需要使该工具的多个实例能够同时执行并将节点插入到同一个 XML 中。

为了达到这个目的,我引入了一个简单的文件“mutex”——该工具在写入 XML 之前创建一个临时文件,然后在完成写入后删除临时文件。因此,如果另一个实例被执行,它会检查这个临时文件的存在并等待它被删除。然后它再次创建临时文件,写入 XML 并删除临时文件。

问题是只有当 2-3 个实例尝试同时写入 XML 文件时,它才能正常工作。当有更多实例时 - 其中一些只是永远等待并且永远不会将节点附加到 XML 中。

有没有更好的方法让它与同时运行和写入 XML 的大量实例一起工作?

0 投票
2 回答
6504 浏览

excel - 可在 VBA 之外使用的 Excel RefEdit 控件的替代方案

作为 VBA 的一部分提供的 RefEdit 控件有一点问题,但是当您希望人们指定一个或多个单元格范围(即Excel.Range对象)时,它非常适合放置在表单上。

主要问题是您只能在 VBA 用户窗体上使用 RefEdit 控件(Microsoft 声明了这一点,我的测试也证实了这一点)。我正在使用Delphi制作 Excel 插件,并且正在寻找RefEdit control 的替代品

Excel.Application.InputBox Type:=8是选择单元格范围的另一种方法,但是当您需要人们在单个表单上选择多个单元格范围时,它不是非常用户友好。我目前最好的真正替代方法是从我的 Delphi 插件中调用 VBA 表单,但这远非理想。

因此,理想情况下,我可以直接替换 RefEdit - 我可以在 Delphi 表单上使用它。如果有,那就不容易找到(我一直在努力寻找,但我一直无法找到 Delphi、VB6 或 .NET 的直接 RefEdit 替代品)。

如果临时替换失败,我可能会尝试拼凑我自己的替代方案,但我怀疑即使不是不可能,也很难做出与 RefEdit 一样好用的替代方案。RefEdit 允许您“选择”单元格而不实际选择它们:它使用行军蚂蚁围绕您选择的单元格,而不是突出显示它们并更改Excel.Application.Selection. 我不知道如何通过 VBA、Delphi 或其他方式操作 Excel 对象模型来做到这一点。

任何提示、技巧、技巧,或者,如果我真的很幸运,将非常欢迎指向插入式 RefEdit 替代品的指针。

0 投票
10 回答
17710 浏览

delphi - 如何在 Vista 上安装 Delphi 7

我曾多次尝试在 Vista 上安装 Delphi 7,但 Vista 告诉我此应用程序 (Delphi 7) 存在已知问题,从而阻止了我这样做。我公司的其他几个人在 Vista 上安装 D7 时遇到了问题。

这导致我们的 D7 应用程序存在风险的结论,因为公司可以在应用程序的生命周期内切换到 Vista 或 Windows 7,并且较新的 Delphi 版本不在公司的政策范围内。因此管理层决定用 C# 重写应用程序。

我的问题:

  1. 如何在 Vista 上安装 D7
  2. 这种安装的经验
  3. 有关 IDE 和已开发程序稳定性的风险评估
  4. Windows 7 下的可执行性风险评估

不使用任何第三方组件或数据库 - 在 Vista 下运行开发的应用程序应该没有问题。如果不能在 Vista 下进行开发和调试(此时它将是唯一的客户平台,是的,内部编程)将导致一种跨平台开发 - 如果我们被允许保留 XP 作为开发平台。

重写不是开发人员的决定,公司在过去 3 年中一直这样做:如果您必须对在 Delphi 开发的应用程序进行重大修改,或者如果它有一定的风险无法在计划的生命周期中生存/寿命,必须改写。由于取消了另一个项目,生命周期刚刚扩展到 2015 年。

所以这里的主要问题真的是:我想对风险进行有根据的争论。

0 投票
3 回答
5743 浏览

delphi - 如何临时加载字体?

我需要在我的程序中临时加载一些字体。最好来自 dll 资源文件。