问题标签 [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.
delphi - 开发 Win32 Delphi 应用程序的最佳工具集是什么?
开发 Win32 Delphi 应用程序的最佳开发工具集是什么?包括支持工具,例如自动构建服务器和建模软件。获得 Delphi 开发的最佳工具列表会很有趣,因此请提供该工具的简要描述,说明您使用它的原因,为什么选择它而不是替代品以及它对您的开发过程产生的影响。请每个帖子一个工具,以便更受欢迎,希望更有用的工具过滤到顶部。当我有时间时,我将根据我对我们在这里使用的工具的看法更新我的答案。
delphi - 如何修复 Nevrona Rave 中的无限打印循环错误
Nevrona Designs 的 Rave Reports是一个供Embarcadero 的 Delphi IDE 使用的报告引擎。
这就是我所说的 Rave Endless Loop 错误。在与 Delphi 2006 捆绑在一起的 Rave Reports 版本 6.5.0 (VCL10) 中,有一个臭名昭著的错误困扰着许多 Rave 报告开发人员。如果您有一个非空数据集,并且该数据集的数据行完全适合一个页面(也就是说,有零个寡妇行),那么在 PrintPreview 时,Rave 将陷入生成页面的无限循环。
此新闻组先前已在以下标题下报告过此问题:
- “错误:生成无限页”;雨果·海拉姆 20/9/2006 8:44PM
- “狂欢循环错误。请帮助”;托马斯·拉扎尔 2006 年 11 月 7 日晚上 7:35
- “循环整页数据?”;托尼·奇斯蒂安森 23/12/2004 下午 3:41
- 另一投诉人对(3)的答复;奥利弗·皮切
- “无尽的 lopp 打印错误”;Richso 2004 年 9 月 11 日下午 4:44
在每个帖子中,Nevrona 都没有回应,也没有报告解决方案。
可能,相关新闻组 (nevrona.public.rave.reports.general) 也报告了该问题,即: 6. “持续生成报告”;Jobard 20/11/2005 虽然我不清楚 (6) 是 Rave Endless 循环错误还是其他问题。这篇帖子确实得到了 Nevrona 的回复,但它更多地与多个区域有关(“使用多个区域时会出现问题,跨越分页符。”)而不是零寡妇的问题。
delphi - 您如何对与第三方 COM 对象交互和实例化的代码进行单元测试?
目前阻碍我全力投入单元测试的最大问题之一是,我编写的代码中有很大一部分严重依赖来自不同来源的第三方 COM 对象,这些对象也倾向于相互交互(I'如果您需要知道,我会使用几个帮助程序库为 Microsoft Office 编写加载项)。
我知道我可能应该使用模拟对象,但在这种情况下我该怎么做呢?我可以看到,当我只需要传递对已经存在的对象的引用但我的一些例程自己实例化外部 COM 对象,然后有时将它们传递给来自不同库的其他一些外部 COM 对象时,这相对容易。
这里的最佳实践方法是什么?我是否应该让我的测试代码临时更改注册表中的 COM 注册信息,以便测试代码将实例化我的模拟对象之一?我应该注入修改后的类型库单元吗?还有哪些其他方法?
我会特别感谢 Delphi 的示例或工具,但也会对更一般的建议和更高级别的解释感到满意。
谢谢,
奥利弗
delphi - 为什么我不应该在 Delphi 中使用“with”?
我听说很多程序员,尤其是 Delphi 程序员鄙视使用“with”。
我认为它使程序运行得更快(只有一个对父对象的引用),并且如果使用得当(少于十几行代码并且没有嵌套)更容易阅读代码。
这是一个例子:
我喜欢使用with
. 我怎么了?
delphi - Delphi中的类/静态常量
在 Delphi 中,我希望能够创建一个与类关联的私有对象,并从该类的所有实例中访问它。在Java中,我会使用:
或者,如果 MySharedObject 需要更复杂的初始化,我可以在 Java 中实例化并在静态初始化块中初始化它。
(你可能已经猜到了……我知道我的 Java,但我对 Delphi 还很陌生……)
无论如何,我不想在每次创建 MyObject 实例时都实例化一个新的 MySharedObject,但我确实希望从 MyObject 的每个实例都可以访问一个 MySharedObject。(实际上是日志记录促使我尝试解决这个问题 - 我正在使用 Log4D,并且我想将 TLogLogger 作为每个具有日志记录功能的类的类变量存储。)
在 Delphi 中做这样的事情的最简洁的方法是什么?
delphi - 如何找出 Delphi 函数可能抛出的异常?
有没有一种好方法可以找出程序/函数在 Delphi 中可以引发哪些异常(包括它被称为程序/函数)?
在 Java 中,您总是必须声明可以抛出哪些异常,但在 Delphi 中并非如此,这可能会导致未处理的异常。
是否有任何代码分析工具可以检测未处理的异常?
delphi - Delphi中是否有*SysUtils.Format*的反函数
有没有人为 Delphi 编写过“UnFormat”例程?
我想象的是SysUtils.Format的倒数,看起来像这样
UnFormat('一个数字 %n 和另一个 %n',[float1, float2]);
因此,您可以使用格式字符串将字符串解压缩为一系列变量。
我已经查看了 SysUtils 中的“格式”例程,但我从未使用过汇编,所以它对我来说毫无意义。
delphi - Qt 或 Delphi ...如果您要选择其中之一?
如果你在冒险进入 Delphi 领域或 Qt 领域有差异,你会选择哪一个?我知道它们不完全可比。我有 Builder C++(几乎是 Delphi)和 MFC(几乎是 Qt)的 Windows 开发经验,并有更多时间使用 Builder C++。请在分析中去掉 Qt 的跨平台能力。
我希望得到与两者合作过的人的回复,以及他或她将如何比较框架、环境等?
预先感谢您的回复。
delphi - 哪个日志库更好?
我在想; 你更喜欢哪些 Delphi 的日志库?
如果您使用过不止一种,请尝试添加为什么您更喜欢其中一种的原因。
我会为这个问题添加建议以保持可读性。
delphi - Delphi 组件序列化
有没有人在将组件序列化到文件中并将它们读回时遇到问题,特别是在组件供应商升级 VCL 组件的区域。例如,一个文件用 DelphiX 序列化,然后几年后用 delphiY 读回。序列化格式是否发生变化,如果发生变化,可以采取哪些措施来防止升级时在组件中读取错误。