67得票1回答
Delphi XE和XE2中的BcdDivide函数行为不同

FmtBcd.pas在Delphi XE2中进行了大量修订和重写。在我的一个项目中,我有一个使用除法运算的情况,它作用于两个Bcd值,但这两个版本产生不同的结果。在最坏的情况下,Delphi XE2可能会引发Bcd溢出错误。 示例:在Delphi XE2控制台应用程序中运行以下代码:var ...

65得票5回答
如何在Delphi中选择不同的线程实现方式?

看起来我终于要在我的Delphi 2009程序中实现某种形式的线程了。如果只有一种方法可以做到,那就轻松愉快地启动了。但我看到有几种可能性。 有人能解释一下它们之间的区别以及为什么我会选择一个而不是另一个吗? Delphi中的TThread类 AsyncCalls(由Andreas Ha...

64得票5回答
使用TOpenDialog选择一个目录

我想知道使用TOpenDialog选择目录的不同方法,无论是下载新组件还是使用Delphi提供的内容,但最好使用Delphi提供的。 在此之前,我一直使用SelectDirectory命令,但我认为这会给我的程序用户寻找指定目录带来困难。 我认为SelectDirectory很“弱”,因...

64得票1回答
XE3中的实时绑定具有自动更新功能(无需像XE2中那样调用Notify())。

我目前正在使用Delphi XE2,听说XE3中有新的Live Binding功能,可以自动更新(无需像XE2中一样调用Notify())。 在C#或Delphi XE2中,我们必须实现INotifyPropertyChanged(在Delphi中为Notify()),这种方法确实很有意义,...

62得票17回答
意外创建了病毒?

我经常遇到这个问题:我用Delphi编写应用程序,但在编译时,病毒扫描程序告诉我我已经创建了一个病毒,然后立即将可执行文件删除。虽然很烦人,但通过进行完全重建、先删除*.dcu文件,有时只需等待就能很容易地解决。据我所知,这种情况发生在Delphi 6、7、2005和2007上,Symante...

62得票6回答
Delphi:StringList的分隔符始终是空格字符,即使设置了分隔符。

我在TStringList类中使用分隔符遇到了问题。看一下:var s: string; sl: TStringList; begin sl := TStringList.Create; s := 'Users^foo bar^bar foo^foobar^barfoo'; ...

62得票9回答
如何为未来的64位编译器准备我的32位Delphi程序?

可能重复: 在迁移到Delphi 2010和Unicode时如何为64位做准备 我相信64位的Delphi编译器很快就会出现, 我想知道有没有人知道什么样的程序 在使用64位编译器时,不需要任何更改就能够编译和运行。 如果有一个通用规则,我们应该对旧程序进行哪些系统性的更改,以便编译...

60得票4回答
"var"和"out"参数有什么区别?

var 和 out 声明的参数有什么区别?编译器如何对待它们(例如,生成不同的代码或更改发出的诊断)?还是这些不同的修饰符只允许程序员记录参数的预期用途?参数的类型对此有何影响?

60得票8回答
不同编程语言开发的相对成本研究

有人看到最近一份(相对平衡的)关于使用不同编程语言进行软件开发相对成本的研究吗?我特别想看看Java与C#和Delphi的相对成本。

60得票9回答
Delphi中的单元测试 - 你是如何做的?

我想知道这里的少数Delphi用户如何进行单元测试,如果有的话? 是否有任何与IDE集成的工具可以很好地运行? 如果没有,那么您正在使用哪些工具,并且是否有或知道示例迷你项目来演示它是如何工作的? 更新: 我忘记提到我正在使用BDS 2006 Pro,尽管我偶尔会进入Delphi 7,当然其他...