15得票4回答
在Delphi中下载文件

在谷歌搜索中可以找到几个示例来下载Delphi文件,但大部分都有缺陷,根据我的经验,有一半的时间无法正常工作。 我正在寻找一个简单而强大的解决方案,可以让我下载单个exe文件(用于更新我的应用程序),并将当前更新线程的执行挂起,直到下载完成或出现错误。此过程已经是多线程的,因此下载代码应该保...

12得票7回答
如何确定操作系统

如何实现一个能够返回操作系统名称的函数?检测程序运行的环境? 例如:win2000/xp/vista/win7等。

7得票3回答
如何在Delphi 6-2007中保持表单和框架的可编译性?

我们最近将长期运行的Delphi项目转换为开源。已经有多人贡献了补丁,这很好,但不幸的是,使用Delphi 2006(及更高版本)保存的窗体和框架包含新属性,旧版本无法处理。IDE对窗体的处理相当优雅(“忽略属性?”),但框架在运行时加载会导致错误。对我来说这不是一个选项。 现在我手动从.d...

12得票2回答
TRTTIContext 多线程问题

我阅读过的所有资料都表明TRTTIContext是线程安全的。 然而,在多线程时,TRTTIContext.FindType偶尔会失败(返回nil)。在其周围使用TCriticalSection可以解决这个问题。请注意,我正在使用XE6,该问题似乎在XE中不存在。 编辑: 似乎存在于所有具有...

44得票9回答
int* i和int *i之间的区别

我正在将一个用C语言写的DLL的头文件转换成Delphi格式,以便我可以使用这个DLL。 我的问题是什么是下列两者之间的区别:int* i 和int *i 我将第一个转换为i: PInteger; 但是我不确定在Delphi中第二种的正确转换方式。 据我理解,第一种是一个简单的类型指针。第...

8得票2回答
Delphi XE2: IMPLICITBUILDING指令在包中的目的是什么?

当我尝试在Delphi XE2中创建新的包时,dpk源文件中会出现一个新的结构:IMPLICITBUILDING。 这是什么意思呢? package Package1; {$R *.res} {$IFDEF IMPLICITBUILDING This IFDEF should not b...

15得票4回答
使用ModalResult退出表单

我有一堆表单,我想自动化它们,让它们可以自己打开和关闭。 我知道如何让它们打开(通过设置OnActivate函数),但是我无法关闭它们。 例如,我有:procedure TProgressForm.FormActivate(Sender: TObject); begin inherit...

8得票1回答
Delphi XE3文件未找到GIFImage.dcu

这是我在Delphi XE3上进行的新安装,我的第一个问题是:我以为Delphi(自2007年以来)已经内置了对动画GIF的支持。 当我在窗体上放置TImage控件时,一切都很好,直到我将Picture属性设置为一个动画GIF文件。当我这样做时,IDE会自动将以下内容添加到我的uses子句中...

10得票3回答
如何在Delphi中处理项目特定组件?

假设我们有一个团队,致力于许多不同的项目。每个团队成员在开发周期中使用不同的视觉/非视觉控件/组件集。由于Delphi要求每个组件在IDE中全局编译和安装,因此在处理其他团队成员启动的项目时如何管理此情况? 如果我可以从版本控制检出项目源代码并立即编译它,那就太好了。我不在乎或者有时候不知道...

9得票3回答
如何完全从TRichEdit控件中移除选择栏?

在 TRichEdit 控件的每行左侧有一个不可见的空白区域,光标变成向右上方的箭头,并且当单击该区域时,整行都会被选择。当 TRichEdit 的文本对齐方式为居中或右对齐时,这个区域很容易看到。我相信这个区域称为选择栏。 在 TMemo 控件中不存在这样的栏。 我的问题是: 如何删除...