Delphi

Delphi,如何获取所有本地IP?

我已经看过另一个相关的问题了,在delphi中有一个方法可以得到一个简单的列表(例如tstrings)并且看起来似乎让我的头脑转化为delphi。 解决方案 在indy 9中,有一个单元IdStack, TIdStack类 fStack:= TIdStack.CreateStack; try edit.caption:= fStack.LocalAddress; //第一个 ..
发布时间:2017-04-23 12:21:01 Delphi

可以模仿“附加组件|扩展名单”的Delphi控件的Firefox?

我的目标是在我的应用程序中更新GUI的外观。目前,我的GUI包含很多列表框,用于以旧的方式编辑某些对象,即用户双击一个项目,并显示一个对话框来修改相应的对象。 我认为一个很好的现代方法是Firefox如何显示已安装的扩展(下面的快照)。 我的问题是关于如何在Delphi(win32)中轻松构建这样的GUI?有没有使用模拟这种行为的组件,或者我只需要使用面板从stratch编码? (IM ..
发布时间:2017-04-23 12:20:26 Delphi

Delphi - 获取应用程序打开的文件

如何使用Delphi获取应用程序打开的文件列表? 例如winword.exe打开哪些文件 解决方案 使用Native API函数 NtQuerySystemInformation ,您可以列出所有进程的所有打开句柄。 尝试这个例子 程序ListAllHandles; {$ APPTYPE CONSOLE} 使用 PSApi, Windows, SysUti ..
发布时间:2017-04-23 12:20:13 Delphi

升级到D2009(排除Unicode)的主要动机是什么?

对于开发工具来说,我是一个犹豫的升级器。对于大约一半的产品,我仍然使用D7和其他D2006。 事实是,虽然Unicode支持超出了欢迎,非常有用,但可能会导致我比我目前的项目更多的麻烦(他们是或多或少的Unicode已经准备好了)。特别的情况是,其中一个人的表现会受到很大的影响,如果每个字符串占用的两倍于之前的内存。 所以,Unicode除了,什么是其他主要的动机升级? 解决方案 ..
发布时间:2017-04-23 12:19:39 Delphi

XPath和TXmlDocument

在Delphi XE中,可以使用XPath与 TXmlDocument 组件? 我知道我可以使用后期绑定访问MSXML2,然后使用XPath: XML:= CreateOleObject('MSXML2.DOMDocument.3.0'); XML.async:= false; XML.SetProperty('SelectionLanguage','XPath'); ..
发布时间:2017-04-23 12:19:27 Delphi

如何迁移Delphi或克隆Delphi注册表设置?

我有两台电脑都配有XE2。我以为我已经安装了相同的两个,但是有一个安装第三方包的问题,​​而另一个是正常的。 我想要两样都一样。轻松的人可能只是通过进入我的Dropbox文件夹来“移植”工作设置。我能做到吗如果是这样,那么如何? 如果没有,我可以(easilly)在一台机器上备份我的注册表设置,然后在另一台机器上导入? 我想我可以在一台电脑上解决问题,但到目前为止没有太多的运气。 ..
发布时间:2017-04-23 12:18:53 Delphi

为什么Delphi对象分配甚至在调用.Free?

在Delphi中,为什么在调用析构函数后,Assigned()函数仍然返回True? 下面的示例代码将会将“sl仍然分配”控制台。 但是,我可以调用FreeAndNil(sl);它不会被分配。 我已经在Delphi中编程了一段时间,但这对我来说是没有意义的。 有人可以解释吗? 程序Project1; {$ APPTYPE CONSOLE} 使用SysUtils, ..
发布时间:2017-04-23 12:18:41 Delphi

XE2中的COM是否损坏,我该如何解决?

更新: XE2 Update 2修复了下面描述的错误。 下面的程序从实际程序中减少,失败,出现异常在XE2。这是2010年的回归。我没有XE测试,但我希望程序在XE上工作正常(感谢Primož确认代码在XE上运行正常)。 程序COMbug; {$ APPTYPE CONSOLE} 使用 SysUtils,Variants,Windows,Excel2000; v ..
发布时间:2017-04-23 12:18:19 Delphi

如何shell到另一个应用程序,并以delphi形式出现

在Delphi中,我已经使用ShellExecute多年来启动(可以等待)其他应用程序。现在,我需要将其中一个应用程序显示在我的一个Delphi应用程序表单中。我已经尝试下面的代码作为一个简单的测试打开记事本(它做),并在我的表单(它不是)中显示PAnel1中的结果。有人可以把我放在正确的轨道上吗? 谢谢 var Rec:TShellExecuteInfo; wnd:HWnd; ..
发布时间:2017-04-23 12:16:01 Delphi

Delphi中的绝对路径和相对路径之间的转换

有没有标准的功能来执行Delphi中的绝对的相对路径转换?例如: 'Base'路径是'C:\Projects\Project1\' 相对路径是'.. \Shared\somefile.pas' 绝对路径是 'C:\Projects\Shared\somefile.pas' 我在找东西如下所示: 函数AbsToRel(const AbsPath,BasePath:string) ..
发布时间:2017-04-23 12:15:24 Delphi

在Delphi-2010中,TThread.resume已被弃用,应该使用什么?

在我的多线程应用程序中 我使用 TThread.suspend 和 TThread.resume 自从将我的应用程序移动到Delphi 2010后,我得到以下交战消息 [DCC Warning] xxx.pas(277 ):W1000符号'Resume'不推荐使用 如果Resume已被弃用,应该使用什么? 编辑1: 我使用恢复命令来启动线程,因为它被创建为'Cr ..
发布时间:2017-04-23 12:15:08 Delphi

Delphi Windows服务设计

Delphi Windows服务设计 我从来没有创建过Windows服务,但一直在阅读我发现的一切。我所遇到的所有文章或例子在实施过程中都非常基础,范围有限。没有看到任何超越这一点或解决具体情况的事情。所以,我有我可能会找到的所有理论,现在我准备好深入这个项目。我喜欢布置我的想法,并得到一些关于人们的想法的反馈。我将从应用程序中描述我需​​要的内容,以及我打算如何构建它。我会感谢任何有建立W ..
发布时间:2017-04-23 12:14:13 Delphi

插件系统Delphi应用程序 - bpl vs dll?

我正在编写应该具有加载插件功能的delphi应用程序。我正在使用JvPluginManager作为插件系统/管理器;)现在,在新的插件向导中,他们说最好使用.bpl类型的插件,而不是.dll插件...这个解决方案与dll类型插件有什么优势? 到目前为止,我发现只有这个解决方案的缺点: 我必须把所有常见的接口单元在单独的包中,以便在加载插件的时候,它不会抛出任何关于其他包含公共单元的包 ..
发布时间:2017-04-23 12:14:01 Delphi

在delphi中替换一个组件类

我知道我已经看到一个例子,在一个黑客的地方定义一个现有的VCL组件的定制版本,如TButton或TEdit,具有相同的类名称,并做一些事情,使DFM流光镜将实例化您的版本而不是原来的。不幸的是,我处于这样的情况,我需要能够做到这一点,我找不到写作。有没有人知道如何找到有关如何实现这一点的信息? 解决方案 在你的表单中,你可以覆盖 ReadState 方法如下: 键入 TMyForm ..
发布时间:2017-04-23 12:13:46 Delphi

delphi的代码文档类似于javadoc或c#xml doc

我需要一个与javadoc或c#xml doc相似的代码文档工具,用于delphi代码。什么是最好的工具?我更喜欢一种技术,这在未来与微软沙堡项目兼容。 解决方案 看看 SynProject ,一个用Delphi编写的开源工具。 它旨在处理完整的文档工作流程,从规范到发行说明,包括测试,架构和设计;当然,还有一个集成的Delphi解析器,可以从现有的Delphi源代码生成架构文档。 ..
发布时间:2017-04-23 12:13:35 Delphi

减少exe文件

使用Delphi(通常,任何工具,如果存在的话),是否可以减少exe文件的大小,删除所有不使用但是存在的代码? (例如,存在但从未调用的函数或过程)。 我记得使用Pascal,使用单元(没有对象),编译器只包含真正使用的过程和函数,并将删除来自最终exe的单位中的未使用的例程。 使用Object-pascal,我记得在Delphi 1中,一个对象的所有成员都包含在exe中; ..
发布时间:2017-04-23 12:12:58 Delphi

需要多线程内存管理器

我将不得不创建一个多线程项目,我已经看到实验(delphitools.info/2011/10/13/memory-manager-investigations),显示默认的Delphi内存管理器有多线程问题。 所以,我找到了这个SynScaleMM。任何人都可以给它一些反馈或类似的内存管理员? 谢谢 解决方案 我们的 SynScaleMM 仍然是实验性的。 编辑:查 ..
发布时间:2017-04-23 12:12:46 Delphi

Delphi:如何自动更新您的应用程序?

我一直在考虑滚动自己的代码,使我的Delphi应用程序无缝更新,因为我将要“经常发布,提前释放”的心态。有各种Delphi解决方案(免费软件和付费)在那里,我想询问您是否使用过任何一种解决方案,或者直接在这一领域继续使用自己的解决方案。对自动更新主题的任何意见都是受欢迎的。 解决方案 几年前,我写了一个简单的工具,而不是真正的程序,检查更新,加载并安装它们(如果有的话),最后启动真正的应用 ..
发布时间:2017-04-23 12:12:34 Delphi