Delphi

使用Delphi调用Http GET url的最简单的方法是什么?

我想在我的应用程序中调用一个Web服务,我可以使用它导入WSDL,或者只需使用“HTTP GET”与URL和参数,所以我更喜欢稍后,因为这很简单。 > 我知道我可以使用indy idhttp.get来做这个工作,但这是非常简单的事情,我不想在我的应用程序中添加复杂的indy代码。 p> 更新:抱歉如果我不清楚,我的意思是“不要添加复杂的indy代码”,我不想添加indy组件对于这个简单 ..
发布时间:2017-04-23 11:34:08 Delphi

Delphi中的XML和库教程

我打算为应用程序添加XML支持,但我不熟悉Delphi中的XML编程。 基本上我需要基于XML节点创建对象,并根据对象生成XML文件。 我应该使用哪个XML组件库?有没有使用Delphi的XML教程? 解决方案 您可以先看看Delphi的TXMLDocument组件。这将为您提供使用XML / DOM的基础知识。它很简单,可以通过将其添加到您的窗体中来添加。它具有LoadFromF ..
发布时间:2017-04-23 11:33:55 Delphi

TLabel和TGroupbox Captions Flicker on Resize

所以,我有一个应用程序加载不同的插件,并在每一个TPageControl上创建一个 的新标签。 每个DLL都有一个与它相关联的TForm。 表单是以其父级hWnd作为新的TTabSheet创建的。 由于TTabSheets不是表单的父母就VCL而言(不想使用动态RTL,而以其他语言编写的插件)我必须手动处理大小。我这样做如下: var ChildHandle:DWORD; ..
发布时间:2017-04-23 11:33:31 Delphi

如何让Delphi TWebbrowser组件运行在IE9模式?

由于TWebbrowser以IE7兼容模式运行,因此TWebbrowser遇到Javascript错误。 有没有办法防止这种情况,只是让它运行在IE9模式下? 解决方案 选择加入浏览器仿真功能使用记录的注册表项。 根据您选择的浏览器仿真设置,您可能需要确保您的文档包含合适的DOCTYPE。再次,这在文档中有所描述。 所以,例如,如果你想做出最简单的改变,你将添加以下注册表 ..
发布时间:2017-04-23 11:32:50 Delphi

Delphi 2010:如何将整个记录保存到文件?

我已经定义了一个记录,它有很多不同类型的字段(整数,实数,字符串,...加上动态数组的“数组...”)。 我想将它保存为一个整体到一个文件,然后可以加载到我的程序。我不想单独保存每个字段的值。 文件类型(二进制或ascii或...)不重要,因为Delphi可以将其读回记录。 你有什么建议吗? 解决方案 您可以直接加载和保存记录的记录直接来自流,只要你不使用动态数组。所以如果你使用 ..
发布时间:2017-04-23 11:32:25 Delphi

基于分隔符将字符串拆分成字符串数组

我正在尝试找到一个Delphi函数,它将一个输入字符串分割成一个基于分隔符的字符串数组。我在Google上找到了很多,但似乎都有自己的问题,我无法让任何人上班。 我只需要要将一个字符串分为: “word:doc,txt,docx”转换为基于':'的数组。结果将是 ['word','doc,txt,docx'] 。 有没有人有他们知道的功能吗? 谢谢 解决方案 p>您可以 ..
发布时间:2017-04-23 11:31:16 Delphi

在Delphi中哪些变量被初始化?

所以我总是听说类字段(基于堆)被初始化,但是基于堆栈的变量没有被初始化。我也听说记录成员(也是基于堆栈)也没有被初始化。编译器警告局部变量未初始化([DCC警告] W1036变量'x'可能未初始化),但不会对记录成员发出警告。所以我决定进行测试。 我总是从整数和 false 从 Booleans 为所有记录成员。 我尝试转动各种编译器选项(调试,优化等)开启和关闭,但没有任何区别。我的 ..
发布时间:2017-04-23 11:31:03 Delphi

当Windows字体缩放大于100%时,如何使我的GUI行为良好

在Windows控制面板中选择较大的字体大小(例如125%或150%)时,VCL应用程序中出现问题,每次都会像素地设置某些内容。 取 TStatusBar.Panel 。我已经设置它的宽度,使它只包含一个标签,现在标签“溢出”的大字体。与其他组件相同的问题。 戴尔的一些新笔记本电脑已经具有125%的默认设置,所以在过去这个问题是非常罕见的,现在真的很重要 可以做些什么来克服这个问 ..
发布时间:2017-04-23 11:30:43 Delphi

德尔福语言特性列表及其引入/不推荐的版本

在我开始之前,我想指出,我已经通过Google诚恳地,真诚地搜索了这样一个事情,并找不到一个。 我需要(对于我正在开发的项目)所有Delphi的列表(2007年到最新发布的版本,我不再支持2007年以前的任何版本)“语言特性”,以及它们被引入的版本(如适用)已被弃用,改进或删除。 之前我已经注意到有关Stack Overflow的类似问题,尽管其中大部分都是以“哪个功能是最好的“,并被 ..
发布时间:2017-04-23 11:30:28 Delphi

为什么我得到“类型没有typeinfo”枚举类型的错误

我已经宣布了以下枚举类型,其中我希望第一个成员的序数值为1(一),而不是通常的0(零): 键入 TMyEnum =( meFirstValue = 1, meSecondValue, meThirdValue ); 如果我打电话给 TypeInfo()作为调用 GetEnumName()的一部分,我收到编译器错误: GetEnumName(TypeInf ..
发布时间:2017-04-23 11:30:13 Delphi

修补程序调用delphi

我想补丁一个例行的调用,以便能够自己处理一些修改。 我正在编写一个资源加载器。我想修补Delphi的LoadResourceModule和 InitInheritedComponent例程与我的。我已经在MadExcept.pas单元中检查了PatchAPI调用,但是如果我可以将其用于我的项目,则无法确定。 我想要像 我的运行时调用 - > LoadResourceModule - ..
发布时间:2017-04-23 11:29:52 Delphi

如何引导鼠标滚轮输入控制光标而不是聚焦?

我使用了一些滚动控件:TTreeViews,TListViews,DevExpress cxGrids和cxTreeLists等。当鼠标滚轮旋转时,无论鼠标光标结束的控制,焦点控制都会接收输入。 如何将鼠标滚轮输入指向鼠标光标所在的任何控件? Delphi IDE在这方面工作非常好。 解决方案 尝试覆盖您的表单 MouseWheelHandler 这样的方法(我还没有彻底测试): ..
发布时间:2017-04-23 11:29:28 Delphi

为什么不能在64位Delphi中使用地址嵌套本地函数?

AS。因为关闭相关的问题 - 下面添加了更多的例子。 下面的简单代码(找到一个顶级的Ie窗口并枚举它的孩子)使用'32 - Windows的目标平台。 Delphi的早期版本也没有问题: procedure TForm1.Button1Click(Sender:TObject); 函数EnumChildren(hwnd:HWND; lParam:LPARAM):BOOL;标准 ..
发布时间:2017-04-23 11:29:16 Delphi

德尔福:需要时提醒UAC抬高

我们需要在运行时将一些设置更改为HKEY_LOCAL_MACHINE。 是否可以在运行时需要提示uac提升,还是必须启动第二个提升的过程是做“肮脏的工作”? 解决方案 我将重新启动自己作为提升,传递命令行参数,你想做的事情您可以直接跳到适当的表单,或者只是保存HKLM的东西。 函数RunAsAdmin(hWnd:HWND; filename: string;参数:string) ..
发布时间:2017-04-23 11:28:54 Delphi

是德尔福“与”关键词不好的做法?

在delphi中,我一直在阅读关于 关键字的不好的东西,但是在我看来,如果你不使用它。它可以使你的代码看起来很简单。 我经常把我所有的TClientDataSets和TField放在TDataModules中。所以在我的表单中,我有这样的代码 过程TMyForm.AddButtonClick(发件人:TObject); begin with LongNameDataModule ..
发布时间:2017-04-23 11:28:42 Delphi

如何搜索Delphi文档?

使用网页搜索很难找到Delphi文档。文件通常被埋在远离命中列表顶部的位置。例如,Google搜索 delphi setlength 可获得以下结果: 指向官方Embarcadero文档的第一个命中是第8位,列表的底部为如上所示。但是它是Delphi 2009文档的链接。理想情况下,我想查找最新版本的文档。 解决方案 导航到Embarcadero文档的首页,然后从中搜索。链接是: h ..
发布时间:2017-04-23 11:28:29 Delphi

默认情况下是否使用值初始化delphi变量?

我是Delphi的新手,我一直在运行一些测试,以查看默认情况下初始化了哪些对象变量和堆栈变量: TInstanceVariables = class fBoolean:boolean; //始终开始为false fInteger:integer; //总是从零开始 fObject:TObject; //总是以nil 开头; 这是我从其他语言习惯的行为,但我想知 ..
发布时间:2017-04-23 11:27:01 Delphi

为什么我不应该使用“if Assigned()”在使用或释放​​东西之前?

这个问题是一个来自stackoverflow的人的特殊评论的继续,我现在看到了几个不同的时代。我和开发人员一起教我Delphi,为了保护事物的安全,在释放对象之前,一直在检查,如果被赋值(),然后再做其他各种事情。不过,我现在被告知,我不应该加入这个支票。我想知道如果我这样做,应用程序如何编译/运行有任何差异,或者如果它不会影响结果... 如果分配(SomeObject)然后SomeObje ..
发布时间:2017-04-23 11:26:35 Delphi

Delphi的Profiler和内存分析工具

我最近从Delphi 4升级到Delphi 2009。使用Delphi 4,我一直在使用由Primoz Gabrijelcic的GpProfile 作为分析器,而由Turbo Power提供的”Memory Sleuth“,用于内存分析和泄漏调试。两者都对我有好处。但是我现在需要使用Delphi 2009新工具。 Delphi的Profiling / Analysis工具的领先者很大程度上显 ..
发布时间:2017-04-23 11:26:05 Delphi