Delphi

获取/设置使用RTTI的子属性

鉴于以下代码片段,使用 GetPropValue(MyComponent,'MySubComponent.Prop1')引发了EPropertyError异常。 如何使用GetPropValue / SetPropValue检索或设置SubProperties的值? 键入 TMySubComponent = class(TInterfacedPersitent) private F ..
发布时间:2017-04-28 19:10:22 Delphi

delphi opensoure xml writer&读者

你可以推荐一个好的XML开源作者和读者, 来生成和读取XML? 解决方案 NativeXml 和 OmniXML 是Delphi的开源和流行的XML库。 ADOM 是另一个,它被包含在一些版本的Delphi中。对于一些高级用例,使用Delphi包装器 libxml Libxml2 可能很有趣。 ..
发布时间:2017-04-28 19:10:10 Delphi

多线程Delphi同步使用定时器和其他线程之间的关键部分

这是一个同步问题。我简化了我的问题,所以我有一个VCL计时器和几个线程。线程正在尝试以两个位图写入东西,而定时器正在尝试将图形绘制到图像(TImage)中。这是我的代码的修改,以便于更容易理解(这个粘贴代码非常模糊)。 // --- -------------------------------------------------- ------------------------- 过 ..
发布时间:2017-04-28 19:08:45 Delphi

德尔福XE2风格画

绘制VCL样式的窗口元素时,我遇到错误绘制的角落时遇到问题。在具有圆角的样式上,我在控件的边界和风格的圆角之间的空白处获得了白色背景。 上面的图像是使用Aqua Light Slate运行的,但是任何风格圆角会显示同样的问题。我缺少什么? type TSample = class(TCustomControl) 保护 程序油漆;覆盖 结束 {TForm1} proced ..
发布时间:2017-04-28 19:08:31 Delphi

XP Style Glyph烦恼在ActionBars中

我不喜欢提出太多关于组件外观的问题,但是在应用程序中出现的这些日子似乎同样重要。 无论如何,请看以下图片: 两个都使用TActionManager和TActionMainMenuBar来创建我的主菜单。图像左侧的菜单使用平台默认样式,右侧的菜单使用我的TActionManager定义的XP样式。 注意左边菜单被突出显示,字形保持不变,这是完美的。 现在看右边的XP风格菜单, ..
发布时间:2017-04-28 19:08:05 Delphi

最简单的方法来制作一个只有一个图像的按钮

我使用的是Delphi XE,我想制作一个按钮,它只显示提供的透明背景的PNG图像,没有任何额外的边距。 我试图用TButton做这个,但是我得到一个丑陋的灰色背景与bsPushButton风格。如果我使用bsCommandLink风格,那么有一个10像素的顶部边距,尽管我所有的ImageMargins设置都设置为0。 最简单的方法是使它发生什么? p> 编辑:不必像按钮一样。我 ..
发布时间:2017-04-28 19:07:30 Delphi

Delphi:使组件可见绑定

我一直在尝试制作一个可视化绑定表单的字符串属性可见的测试对象。组件注册了相应的属性。使用XE8和Firemonkey。 我可以通过使用隐藏显示元素选择它来显示视觉活页夹,但是我无法将其绑定到Foo字符串一个TEdit文本属性,readonly(什么也没有)将绑定到Text属性。 我该如何看到它具有默认类可见性 为什么Foo字符串不绑定到文本属性 这个帮助文件有点薄。我想我在这里 ..
发布时间:2017-04-28 19:07:18 Delphi

如何在delphi中直接从内存中执行代码?

可以模仿 loadlibrary 函数吗?我想从BLOB字段加载一个库,而无需先将其写入一个临时文件,我需要一个不依赖于特定版本的delphi编译器或Windows的解决方案,并且不会触发防病毒软件。 解决方案 dzlib包含一个现成的对象,用于将资源从资源读入内存并使用它,而不会将其保存到光盘中: 这是主文件... http://sourceforge.net/p/dzlib ..
发布时间:2017-04-28 19:06:43 Delphi

TFrame继承重构

另一个TFrame IDE注册组件的问题。感谢所有的帮助,同行程序员。 :) 播放Darrian的TFrame继承建议这里: 细节: 基本上,我有一个基于TFrame的组件,我已经注册到IDE,它的工作非常好。我正在开发一些“姐妹”组件,它们将分享大量现有组件的非视觉功能和属性。然后,将很多事情转移到父类/超类,然后新组件和旧组件都可以继承。 最好的方法是什么以这种方式“重 ..
发布时间:2017-04-28 19:05:40 Delphi

如何声明包含使用记录作为参数的事件的记录

我试图找出如何声明一个使用对方的记录和一些对象事件。问题不管我声明什么,我有一个“未声明的标识符”。 所以使用下面的代码,我可以让他们互相使用吗?事件将被用在一个对象中,并且该记录将被传递给对象的构造函数。 TMyEvent = procedure发件人:TObject; var Rec:TMyRecord); TMyRecord = record OnMyEvent:T ..
发布时间:2017-04-28 19:05:27 Delphi

如何安装打印机(使用Delphi)

我的程序是用Delphi(面向对象的pascal)编写的。当我尝试打印任何东西时,我收到消息“目前没有默认打印机当前选择”。在没有安装打印机的计算机上。 为了防止这种情况,我想检查是否安装了任何打印机。有没有办法检查是否安装了任何打印机? 解决方案 使用打印机; Printer.Printers.Count 给你打印机安装数量 D2007中的打印机单 ..
发布时间:2017-04-28 19:05:14 Delphi

在Delphi中加载同一个DLL的两个实例

这是我的问题:我想创建同一个DLL的两个单独的实例。 以下内容不起作用,因为Handle1和Handle2将获得相同的地址 Handle1:= LoadLibrary('mydll.dll'); Handle2:= LoadLibrary('mydll.dll'); 以下工作原理,但是我必须制作一个DLL的副本并将其重命名为别的东西(这似乎有点愚蠢) ..
发布时间:2017-04-28 19:05:01 Delphi

两个不同的TThread后代如何共享一个OnTerminate处理程序?

我有一个应用程序启动数字线程来做东西。我有一个 TThreadOnTerminate 过程,每个线程访问一些线程变量以填充网格与结果。 (每个线程执行一个不同的任务,但答案总是相同的,即成功或失败,一个 StringList 的消息。) 所以我有: 程序TFormMain.Thread1OnTerminate(发件人:TObject); begin 结果:= TThread1(S ..
发布时间:2017-04-28 19:03:45 Delphi

在Delphi中编辑PDF文档

我们需要添加在Delphi应用程序中编辑PDF文档的能力。 给出一个PDF文档,打开它并生成一个带有编辑框的表单,用户可以使用该表单来更新PDF文档。 任何人都可以提出第三部分组件将提供此功能或建议某种方式实现此目的。 感谢 解决方案 我使用 QuickPDF 。有文献记录,很多例子,很好的支持。但是,更新PDF中的文本是艺​​术而不是科学,除非您完全控制PDF的生产者, ..
发布时间:2017-04-28 19:03:30 Delphi

RichEdit不遵守粘贴内容的PlainText

我创建一个新的应用程序,放在TRichedit上,并将PlainText属性设置为true。然后,我运行应用程序并将一些丰富的格式化文本粘贴到RichEdit。 我希望它以纯文本形式显示,但它显示的格式为。 p> 任何人都知道如何使用TRichedit作为纯文本(而不是使用备忘录)) 解决方案 您需要手动进行粘贴,确保格式化被忽略。 如果剪贴板.HasFormat(CF_ ..
发布时间:2017-04-28 19:02:20 Delphi

从Delphi组件捕获WM_COPYDATA

我正在尝试编写一个组件,通过WM_COPYDATA在应用程序之间发送字符串消息。 我想陷阱WM_COPYDATA,但这不工作: TMyMessage = class(TComponent) private {私有声明} ... protected {受保护声明} ... 程序WMCopyData(var Msg:TMessage);消息WM_COPYDATA; ..
发布时间:2017-04-28 19:02:08 Delphi

在Delphi中使用XML(将特定数据返回到变量)

我过去几天一直在尝试使用Delphi 2010和MSXML,我是一个极端的新手,需要一个方向。 var MemoryStream:TMemoryStream; XMLPath:String; sName:String; XMLDoc:variant; doc:TStringList; begin //无关代码 //将XML文件创建到硬盘 begin Me ..
发布时间:2017-04-28 19:01:56 Delphi

搜索另一个进程的记忆

有没有快速的方式来搜索/扫描某个进程的内存的特定值, 找到该值的位置,编辑并保存? 有例如窥视汤姆,但这很慢,Vista& Win7。 解决方案 您将不得不调试过程(即相当于将流程附加到您的自定义调试器),并使用 ReadProcessMemory 读取和 WriteProcessMemory 写入。 / p> 这是 Delphi代码覆盖项目正在插入断点以在运行时跟踪代码覆盖 ..
发布时间:2017-04-28 19:01:41 Delphi

创建复合控件是否明智?

我有这个应用程序在一些地方重用一种成语。有一个TPanel,它是一些标签和按钮。目的是允许用户选择日期范围。 “& Dates”标题是一个标签,“所有日期”部分是第二个。当用户点击“选择”按钮时,弹出一个表单,向用户显示一对日期/时间控件和确定/取消按钮。如果用户在选择某些日期后点击“确定”,则第二个标签将更改为“从mm / dd / yyyy到mm / dd / yyyy”。 创建打 ..
发布时间:2017-04-28 19:01:07 Delphi

请求简单的TComplexMath类示例(源代码)

我正在使用Borland Delphi7做一些Pascal编程。我已经下载了一个相当基础(和免费)的复杂数学函数的源代码库,但不幸的是没有任何使用示例。由于我对Pascal中的课程不是非常熟悉,我想我只需要一个简单的例子来说明它的用法,让我开始。 任何事情都会做,即使是将两个数字加在一起的例子将让我开始。这是我试过的(很跛脚我知道)。我想我的问题是我不知道如何使用类构造函数。 在'co ..
发布时间:2017-04-28 19:00:27 Delphi