18得票1回答
如何正确保持宽高比进行缩放

这是我的目标。使用鼠标左键滚动图像,使用鼠标右键选择缩放矩形,双击还原全屏缩放。 到目前为止,我已经尝试过很多方法,但发现问题与我如何加载或显示图像无关,而与它的绘制方式有关。屏幕上的图像始终填充控件的客户区域,而不考虑窗体的形状或源图像,因此无法保持纵横比。我不确定如何更改这个问题或者保持...

18得票5回答
使用Delphi管理变量中的空值

我正在使用一个公开许多 Variant 属性的 COM 组件,但有时这些值为空。当我尝试将这些值转换为字符串(或其他 Delphi 类型)时,应用程序会引发以下异常: 无法将类型为 (Null) 的 Variant 转换为类型 (String) 但如果我使用 .net 调用相同的属...

17得票3回答
在Delphi中,为什么传递接口变量有时需要将其作为const参数?

UnregisterNode()方法中移除const关键字导致其失败,而在RegisterNode()方法中不会失败。 procedure RegisterNode(Node:INode); procedure UnregisterNode(Node:INode); 在TNode.Destr...

17得票6回答
是否存在像TInterfacedObject一样的非引用计数基类?

我需要一个基类,类似于TInterfacedObject,但不包含引用计数(类似于TNonRefCountedInterfacedObject)。 实际上这已经是我第n次需要这样一个类了,但我总是不断地重新编写我的代码(即复制并粘贴)。我无法相信没有官方的基类可供使用。 在RTL中是否有一...

17得票2回答
访问Delphi类的严格保护属性?

我需要访问一个严格保护的属性,因为我需要创建一个基于此属性值的验证来避免错误。(我没有这个属性所在的第三方类的源代码,只有类(接口)定义和dcu文件,因此无法更改属性可见性)。问题是是否存在一种访问严格保护属性的方法?(我确实阅读了Hallvard Vassbotn博客,但没有找到关于这个特定...

17得票4回答
如何使用Delphi作为后端构建REST Web服务器,用于大型Web应用程序?

我看了这个问题,但对答案感到不满意。 我也快速阅读了Marco Cantù 2010 Handbook的最后一章节(正如该问题中建议的那样),我引用以下内容(我认为可以引用这样一个短文): “我[Marco Cantù]确实在Delphi中编写了许多服务器端Web和REST应用程序,并且在...

17得票3回答
如何在运行时在主题和非主题之间切换应用程序?

与“项目|选项|应用程序|启用运行时主题”复选框非常相似,但是在运行时动态处理。 [Delphi XE 以 Win XP 或 Win 7 为目标] 我尝试使用 uxTheme.SetWindowTheme 进行一些调整,但迄今为止没有成功...

16得票4回答
在同一台计算机上安装多个 Delphi 版本

我们想要做的是在同一台机器上安装多个Delphi版本,这些版本包括D7、D2010和DXE。 我们之前已经安装了D7和D2010,在一起使用还算正常(由于各个版本的特殊条件,必须为D7和D2010复制组件),但我不确定XE能否兼容,因此提出了这个问题。 当然,我们可以进行实验,但那意味着浪...

16得票1回答
如何增加外部调试器可显示的字符串大小?

我再次编写一个外部调试器可视化工具,并遇到了一个问题。调试器可视化工具返回的字符串似乎有大小限制。 Delphi 2010附带的TStrings调试器可视化工具有4K的限制。在Embarcadero新闻组发布的一个问题的回复中,Ewe Schuster 回答说:“你可以稍微增加缓冲区的大小,...

16得票5回答
如何重新组织Delphi单元的文件夹结构?

我用Delphi创建了一个原型,将所有源文件放在单个目录下。 现在,我想要通过文件夹重新组织一切。 我发现有两种方法可以实现这一点。 1/ 第一种方法是在Delphi IDE中打开每个单元并另存为到新的文件夹。然后删除旧的单元文件。 2/ 在Windows资源管理器中重新组织一切,然后在...