Delphi

Delphi 2009默认安装Indy 10的正确方法是什么?

因为Indy现在内置Delphi 2009的安装过程...有没有一个正确的方法来“删除”它,所以它可以从SVN repo升级到最新的?没有一个自动选项可以删除它,只要我知道。 解决方案 正如Rob已经说过的:只要删除德尔福的配置指导。需要一个额外的步骤:每次更新后,确保它们没有被再次添加!一些Delphi 2007的更新显然是这样做的,我错过了很长一段时间,直到我偶然发现了一个我已经想到的 ..
发布时间:2017-04-28 20:30:43 Delphi

TIdHTTPServer文件上传

我正在尝试将文件上传到Indy(版本10.5.5)TIdHTTPServer。 我一直在寻找解决方案,但没有运气到目前为止,我发现是旧的Indy的版本与Delphi 2010附带的版本不兼容。 我希望通过上传一个文件,使用“multipart / form-data”到服务器,解码它,简单的,任何帮助是赞赏。 解决方案 我开始 xxm 作为使用Delphi构建网站的方式,并且具 ..
发布时间:2017-04-28 20:30:26 Delphi

Delphi XE - TRibbon操作总是将焦点转移到MainForm

当我在不是应用程序主窗体的表单上放置一个TRIBOB控件时,TRIBBB的动作(即剪切,粘贴)将在执行操作后始终将焦点返回到MainForm。 即使持有Tribbon的TForm不是MainForm的孩子,也会发生这种情况。 我正在使用Windows 7 64位, Embarcadero RAD Studio XE版本15.0.3953.35171。 我使用TRibbon控件错误 ..
发布时间:2017-04-28 20:30:05 Delphi

如何使用通用枚举类型调用GetEnumName?

我有一个泛型类,它使用枚举通用类型。我的问题如何在该类型的实例上使用GetEnumName? 我创建了一个小型演示类来说明问题: 键入 TEnumSettings&TK;记录> = class private 键:TKey; public 构造函数Create(aKey:TKey); 函数ToString:string;覆盖 结束 使用 TypInfo; ..
发布时间:2017-04-28 20:28:57 Delphi

Delphi - Indy - 保存GMail草案

我使用Delphi下的Indy通过Gmail帐户发送消息,使用TIdSMTP和TIdMessage组件。这工作绝对罚款。 但是,我的客户端已请求将消息保存到DRAFTS文件夹,以便允许他在实际发送之前对(编程创建的)消息进行更改。 GMail API应该支持这一点,但提供的示例不是Delphi / Indy格式...我正在寻找最小的编程更改,所以我想要知道是否可能在Indy组件呢? T ..
发布时间:2017-04-28 20:28:45 Delphi

扫描文件夹/子文件夹/文件时如何减少CPU使用情况?

我开发了一个应用程序,可以扫描文件或文件列表的所有位置。 当我扫描小文件夹,如10 000个文件和子文件没有问题。但是当我扫描例如我的整个用户文件夹超过10万项,我的处理器非常沉重。这需要大约40%的处理器功率。 有没有办法优化这个代码,以减少CPU? procedure GetAllSubFolders(sPath:String); var 路径:String; Rec ..
发布时间:2017-04-28 20:28:20 Delphi

TStringList是否可以自动释放附加到其项目的对象?

我将一些 TObject 后代添加到 TStringList 中,例如通过调用 AddObject 。当我释放列表对象时,我希望它们被释放。有没有办法实现这一点? 解决方案 OwnsObjects 属性 TStringList True ,以便列表在被销毁时释放其对象。这可以通过调用收到 OwnsObjects 参数,或通过在创建后显式设置属性。最好将 OwnsObjects 设置为对象构 ..
发布时间:2017-04-28 20:28:08 Delphi

如何使用Delphi 2010优化上传例程?

我的尚未发布:Delphi 2010应用程序允许用户将其文件上传到我的服务器。现在我使用HTTPS POST发送文件,(简化)算法基本上是: 将文件拆分为“片”(对于每个切片,将其POST到服务器 ie。对于1MB的文件: - >获取片#1(256KB) - >使用TidHTTP.Post()上传Slice#1 - >获取切片#2(256KB) - >使用T ..
发布时间:2017-04-28 20:27:03 Delphi

当使用RTL布局时,如何通过命中测试获取树视图项目?

说明: 从右到左阅读模式(RTL)拥有树视图,如何获取点击的节点只知道点击坐标?这是一个插入的类,它使树视图使用RTL显示,并包含一个点击处理程序,您可以在其中看到问题: unit Unit1; 接口 使用 Windows,消息,SysUtils,变体,类,图形,控件,窗体, 对话框,ComCtrls,CommCtrl; type TTreeView = cl ..
发布时间:2017-04-28 20:23:49 Delphi

Modaldialog没有反应进入/ esc

我有一个具有 OK 和取消按钮的modaldialog。对于 OK ,我将 Default 属性设置为True,对于取消按钮,取消属性。 ModalResult设置为 mrOK 和 mrCancel 但是,不要按键盘上的 Enter 或 Esc 键关闭对话框。我在这里错过了什么? 编辑 我发布了一个小测试应用程序在我的网站上使用可疑对话框。 IDE是RAD Studio XE3。 ..
发布时间:2017-04-28 20:22:06 Delphi

按钮的标题中的换行字符

我正在构建一个应用程序,其中我想在表单上显示一个按钮。我想在两行显示按钮的标题。我已经尝试在表单的OnCreate事件中使用以下代码,但它没有显示新行。 Button.Caption:= '你好'+#13#10 +'world'; 添加新行的任何其他方法? 解决方案 对于非常旧的不具有WordWrap属性的Delphi版本: 在设置标题之前使用以下代 ..
发布时间:2017-04-28 20:21:15 Delphi

Delphi - 检查内存是否正在被释放“按时”

我有一个GUI应用程序,不有内存泄漏。在多个测试周期中,我已经通过FastMM证实了这一点。 在一个特定的客户端的服务器上,我得到随机的崩溃。服务器规格与我们其他客户端的规格是一致的(我们实际上已经在各种硬件上进行了测试),程序使用的文件也是如此(据我所知,有一些超敏感材料不能访问,但似乎没有什么是普通的东西)。 我尝试过像EurekaLog和MadShi这样的人物,可能缩小了这个问题,但 ..
发布时间:2017-04-28 20:20:47 Delphi

如何在两台电脑之间发送字符串?

可能重复: Delphi网络的初学者 我想学习如何使两台机器进行通信,发送和接收简单的字符串。机器可能在同一个局域网 - 不是。我在谈论一些或多或少的东西,就像你在聊天程序中看到的,我想。我理解德尔福,但是绝对没有任何关于TCP,套接字,端口等的信息。你会建议我在哪里学习这些东西? ...我知道如何使用谷歌,但老实说,我不完全确定哪里开始搜索! 谢谢,一如既往。 解决方案 ..
发布时间:2017-04-28 20:20:13 Delphi

如何调整图片大小?

我有图像(500x500),但我需要调整大小为200x200,并在TImage上绘制。如何实现这样的结果? 注意 我知道 Stretch 属性在TImage中,但是我想以编程方式调整图像大小。 解决方案 procedure ResizeBitmap :TBitmap; const NewWidth,NewHeight:integer); begin Bitmap.Canv ..
发布时间:2017-04-28 20:20:01 Delphi

使用Delphi跟踪对文件夹的更改?

我需要编写一个delphi程序,该程序将监视文件夹以进行更改(添加,更新,重命名和删除文件)。 TShellChangeNotifier是否可以去?说实话,我不知道如何使用它。 请帮助。 谢谢。 p> 解决方案 这个问题可能有帮助。 mghie的答案显示如何正确使用 ReadDirectoryChangesW 。 ..
发布时间:2017-04-28 20:19:48 Delphi