47得票3回答
Delphi / C++Builder 的停靠库推荐?

我们的团队正在考虑将现有的基于MDI的应用程序移植到更现代的基于停靠的方法。我们还在考虑中,但我们想将其移动到类似VS2010的停靠和视觉外观: 它具有以下功能: 显示窗口停靠的混合轮廓 停靠在选项卡中以及并排 允许通过拖放并释放到显示停靠位置的图像(我在下面称之为“停靠小部件”)来...

46得票4回答
为什么变量声明为TStrings并创建为TStringList?

为什么变量被声明为TStrings,但创建时是TStringList? 例如:变量sl被声明为TStrings,但创建时却是TStringListvar sl : TStrings; begin sl := TStringList.Create; // add string v...

46得票13回答
使用UPX压缩Windows可执行文件有什么缺点吗?

我之前使用过UPX来缩小我的Windows可执行文件的大小,但是我必须承认,我对它可能产生的任何负面影响都很幼稚。这种打包/解包的方法会有什么副作用呢? 在某些情况下,是否有人建议不要将可执行文件压缩使用UPX(例如,在编写DLL、Windows服务或针对Vista或Win7时)?我大多数的...

46得票5回答
缓存文件(用于更快的磁盘访问)

我正在处理大文件,直接写入磁盘速度很慢。由于文件太大,我无法将其加载到TMemoryStream中。 TFileStream没有缓冲,因此我想知道是否有自定义库可以提供带缓冲的流,或者我应该仅依赖操作系统提供的缓冲。操作系统的缓存可靠吗?我的意思是,如果缓存已满,则可能会从缓存中刷新旧文件(...

46得票2回答
新的TFileOpenDialog和旧的TOpenDialog有什么区别?(涉及IT技术)

新的TFileOpenDialog和旧的TOpenDialog有什么区别? 在我的电脑上(Win 7 / DXE),当我运行代码时,对话框看起来是一样的。

45得票8回答
Delphi中调用Http GET url的最简单方法是什么?

我想在应用程序中调用一个Web服务,可以通过导入WSDL或者使用URL和参数的"HTTP GET"来使用它。因此,我更喜欢后者,因为它比较简单。 我知道我可以使用Indy IdHTTP.get完成这项工作,但这很简单,我不想在我的应用程序中添加复杂的Indy代码。 更新: 抱歉如果我表达不...

45得票3回答
如何在Delphi字符串中转义字符

Delphi的字符串使用单引号,例如'a valid string'。如何在文字字符串中指定'字符?如何引用空字节(Unicode码点U+0000)?

45得票1回答
在 Delphi XE2 中使用泛型和前向声明时会出现编译器错误

我开始使用Delphi 2010进行项目开发,然后迁移到XE,现在我尝试迁移到XE2。 在XE2(更新4热补丁1)中编译后,单元测试开始出现AV错误。 经过一些调试,发现以下代码没有正确编译:program ForwardDeclaration; {$APPTYPE CONSOLE} us...

45得票3回答
将Shell/DOS应用程序的输出传输到Delphi应用程序

我有一个用Delphi编写的命令行应用程序,我需要从普通桌面应用程序(也是用Delphi编写的)中调用它。简单来说,我想调用命令行应用程序并在列表框中“实时”显示其输出的文本。 我已经很久没玩过Shell了,但我清楚地记得,为了从命令行应用程序中获取文本,我必须使用管道符号“>”。就像这样:...

44得票5回答
TThreadedQueue是否不支持多个消费者?

尝试在单生产者多消费者方案中使用TThreadedQueue(Generics.Collections)(Delphi-XE)。想法是将对象推入队列,让多个工作线程排空队列。 但是,它并没有按预期工作。当两个或更多工作线程调用PopItem时,TThreadedQueue会抛出访问冲突。 ...