59得票5回答
为什么在访问对象之前不应使用"if Assigned()"?

这个问题是从stackoverflow上得来的,关于一个特殊的评论,我在不同的场合下看到过。我以及教我Delphi的开发者,为了保证安全,一直在释放对象之前以及进行其他各种操作之前添加了检查 if assigned()。但是,现在有人告诉我不应该添加这个检查。我想知道如果我这样做会对应用程序的...

58得票4回答
如何在比较Delphi表单文件版本时,让Beyond Compare忽略某些差异?

我使用Beyond Compare(版本3.1.10)比较不同版本的Delphi表单文件,但我不想看到有关ExplicitTop、ExplicitLeft、ExplicitHeight和ExplicitWidth的差异。 细节: 这些行始终以多个空格字符开头,然后是"ExplicitXXX ...

58得票4回答
XE2远程调试 - 字符串的显示

我正在对一个大型应用程序进行远程调试,使用的是Delphi XE2(更新#4)和一个运行Windows XP的目标系统。PAServer在目标系统上运行良好,并且应用程序可以正常工作并在断点处停止(如果遇到问题,请删除DPROJ并重新开始,如果它曾经通过任何IDE之前的XE)。 我注意到本地...

56得票10回答
Delphi 2006-2010错误:"无法创建文件C:\ Users \ Admin \ AppData \ Local \ Temp \ EditorLineEnds.ttr"

安装Delphi 2007后(注:此问题适用于从2006到2010的所有Delphi版本),我遇到了一个错误,我无法找出原因,并且以前从未见过。在重新启动计算机后,我可以正常启动程序,但是如果我关闭程序并重新启动,它将给出以下错误信息: “无法创建文件C:\ Users \ Admin \ ...

54得票12回答
Delphi的分析器和内存分析工具

我最近从Delphi 4升级到了Delphi 2009。在Delphi 4中,我使用Primoz Gabrijelcic的GpProfile作为分析器,使用Turbo Power的Memory Sleuth进行内存分析和泄漏调试。两者都对我很有用。但现在我需要新的工具来适应Delphi 200...

54得票3回答
刷新、更新和重绘有什么区别?

我不知道哪种方法最适合我。它们都可以对我起作用。有人知道“Refresh”、“Update”和“Repaint”之间的区别吗?

54得票2回答
XE2中的COM是否存在问题,我该如何解决?

更新:XE2 Update 2修复了下面描述的bug。 下面这个程序是从真实程序中剪裁出来的,它在XE2中会出现异常。这是自2010年以来的退化。我没有XE进行测试,但我期望该程序在XE上运行良好(感谢Primož确认代码在XE上可以正常运行)。program COMbug; {$APPT...

54得票4回答
Delphi ASIO VST 和 MiniHost 存在 Midi 时间问题

我曾使用MSC* MidiSequencer在Delphi XE2项目中工作,最近尝试了DelphiASIOVST,并且希望MIDI足够稳定以用作我的核心MIDI引擎,同时支持VST插件。我从SVN上提取了D16 trunk,在进行一些路径调整后,编译非常容易。 我理解我所看到的很多内容,但...

53得票6回答
如何获取Delphi程序使用的内存

我知道如何使用GlobalMemoryStatusEx获取系统内存使用情况,但它只告诉我整个操作系统正在使用的内存。 我真的希望我的程序报告它单独分配和使用了多少内存。 在我的Delphi 2009程序中,是否有任何方式调用Windows函数或某些FastMM功能,以查找仅由我的程序分配的...

53得票1回答
如何使TRichEdit在更改某些非文本字符的字体时,像Windows 7上的WordPad一样运行?

通过 Sertac Akyuz 的帮助,似乎直接原因与 \bullet 的字符集有关: 在我的本地化 Windows 中,通过输入 Alt(0149) 输入的 \bullet 总是得到 \fcharset134,并且尝试通过 EM_SETCHARFORMAT 更改其字体总是失败的 (嗯,颜色、...