Delphi

如何识别应用程序打算执行\运行文件?

当需要执行文件或由应用程序运行时,我需要识别和触发事件。我知道我可以通过挂起Windows程序来完成,但我不知道Windows的程序或事件的发生。 例如,当一个自动运行文件执行时,我的应用程序应该识别它,就像一个防病毒应用程序。 我不知道钩子是有用的为了我的目的,如果解决方案没有挂钩,请给我一个真正的解决方案。 解决方案 尝试使用 PsSetCreateProcessNotifyR ..
发布时间:2017-04-23 12:49:20 Delphi

点击透明表单

实际上,我们需要在电脑上观看天空的红屏过滤器,但是我们不想使用红色有机玻璃。 我尝试过Windows API(监视器配置功能) http://msdn.microsoft.com/en-us/library/windows/desktop/dd692964( v = vs85).aspx 但我不能这样做。 我做了透明的形式,像红色的过滤器(一切似乎都是红色和黑色的色调),但是我无法通过 ..
发布时间:2017-04-23 12:49:08 Delphi

线程安全在delphi

我的问题是如何编写,我必须修改和更改一个线程中的一些可视化组件,并且您知道这是不安全的。一个完全线程安全的代码?有可能吗?如果可以,请给我一个简单的例子? 我的不是线程安全的代码: type tMyWorkerThread = class(TThread) public procedure Execute;覆盖 结束 var Form1:TForm1; 执行 ..
发布时间:2017-04-23 12:48:56 Delphi

如何从GUI应用程序发送命令到控制台应用程序

我有一个从GUI应用程序启动的控制台应用程序。控制台应用程序接受文件名的参数进行解析和处理。目前,我可以捕获其输出并将其显示在GUI应用程序中,但我希望能够向其发送命令,以便控制甚至停止其执行。 如何将命令或字符串或任何内容发送到控制台应用程序,最好使用我打开的管道来读取其输出? const CReadBuffer = 2400; var saSecurity:TSecu ..
发布时间:2017-04-23 12:48:45 Delphi

Delphi预构建事件在编译之前未执行

我忙于自动化我们的构建以包括svn修订版本号。我在使用Delphi 2010.我添加了一个预构建事件调用一个批处理文件,它将svn修订版本号(从.svn目录中的条目文件中读取)和一个指定的版本号注入到一个VersionInfo.rc中,该版本号被编译为我的项目。预构建事件如下所示: 调用SetVersionInfo.bat 6 5 4 ...和批处理文件(希望有人认为这有 ..
发布时间:2017-04-23 12:46:36 Delphi

访问Delphi类的严格保护属性?

我需要访问严格受保护的属性,因为我需要创建验证(基于此属性的值)以避免错误。 (我没有具有此属性的第三方类的源代码)只有我有类(接口)和dcu(所以我不能更改属性可见性)的定义。问题是存在一种访问严格保护财产的方法? (我真的读了哈尔沃特Vassbotn博客,但是我没有找到关于这个特定主题的内容。) 解决方案 这个类助手示例编译好: type TMyOrgClass = cla ..
发布时间:2017-04-23 12:46:15 Delphi

C#/ Java“Try / Finally / Catch” Delphi中的等效构造

在德尔福,你怎么可以用try,finally,catch一起?一个Java / C#等效的东西看起来像: try { //打开数据库连接,启动事务 } catch(Exception e){ //回滚DB事务 } finally { //关闭DB连接,提交事务 } 如果你在Delphi中尝试这个,你可以使用try / finally或try / except;但从来 ..
发布时间:2017-04-23 12:46:03 Delphi

标准URL编码功能?

Url.UrlEncode() 注意 我几年没有和Delphi一起工作。 当我阅读了答案,我注意到有几个话题和替代当前标记的答案。我没有机会测试他们,所以我把我的答案放在最抢手的地方。 为了你自己的缘故,请检查后面的答案,并在决定upvote最好的答案,以便每个人都可以从中受益您的经验。 解决方案 查看indy IdURI单位,TIdURI类中有两个静态方法来编码/ ..
发布时间:2017-04-23 12:45:39 Delphi

FTP通过SSH(SFTP)在德尔福2010

我正在编写一个简单的Delphi应用程序将一些文件上传到SFTP服务器。我以为我可以使用一个TIdFTP indy客户端,但它接缝,因为他们不是ftp over SSH(SFTP)的任何人都知道任何免费/开源组件的Delphi 2010,将支持通过SSH(SFTP )。由于安全原因,我无法使用Active X控件,所以请不要使用Active X解决方案进行响应。 感谢您的帮助, Kyl ..
发布时间:2017-04-23 12:45:26 Delphi

在Delphi应用程序中如何使用XSLT文档显示XML?

我已经获得了一个XML文件样本(最终我的客户端每天都会收到几个这样的文件),以及一个XSLT文件,它将显然将XML转换为有意义的布局,适合在浏览器或打印中显示 我想把一些东西放在现有的旧版Delphi应用程序中,以便用户可以从驱动器中选择一个XML文件并“显示”在TWebBrowser或类似的文件中)。 我不知道从哪里开始,Googling delphi,xml和xslt得到了我似乎是 ..
发布时间:2017-04-23 12:44:52 Delphi

代理服务器使用Indy

我是Indy的新人,我想用它构建一个简单的代理服务器。这是一个相当大的图书馆,我只是不知道从哪里开始。当客户端连接到服务器时,OnExucute启动并接收客户端连接作为参数(AContext.Connection)。 我想执行以下操作: [客户端连接]:= AContext.Connection 从[客户端连接]读取主机/端口 [远程连接]:=连接到主机/端口 ,而两个连接都存在 ..
发布时间:2017-04-23 12:44:40 Delphi

使用TArray< T>的原因是什么而不是T的阵列?

我正在将一个旧的Delphi应用程序迁移到Delphi-XE2,我想知道是否有一个很好的理由将定义为 MyType 的数组替换为 TArray 。所以问题是 TArray 使用而不是MyType数组的优缺点是什么? 解决方案 主要优点是较少繁琐的类型身份规则。考虑: a:整数数组; b:整数数组; 这两个变量不兼容。写一个编译器错误: ..
发布时间:2017-04-23 12:44:28 Delphi

Delphi XE2:是否可以创建没有FireMonkey的Mac GUI应用程序?

使用Delphi XE2,是否可以在不使用FireMonkey进行GUI的情况下创建Mac GUI应用程序?如果是这样,可以使用什么,怎么办? 解决方案 原则上是可能的。但是,您需要翻译由Apple公开的Objective-C头文件和类。这是一个巨大的任务,其中一部分已经由FreePascal人或Objective-Pascal人完成。 但是没有什么可以阻止你翻译(缺少)标题你自己您 ..
发布时间:2017-04-23 12:43:48 Delphi

如何使用类助手访问严格的私人成员类?

这是一个后续问题:如何隐藏对象的受保护的过程? (我对整个类帮助器概念有点模糊) 假设我有一个类: type TShy = class(TObject) strict private procedure TopSecret; private procedure DirtyLaundry; protected procedure ResistantToC ..
发布时间:2017-04-23 12:43:21 Delphi

寻找自定义图像网格

我正在寻找一个特别设计用于显示图像的网格。它还需要具有良好的性能,最好使用某种缩略图缓存。这些图像需要从文件中加载,如果可以动态地分配图像也是很好的。它不应该在列/列记录(例如标准网格)上工作,而是单个项目列表,每个项目表示图像。应该有一个属性来一次定义所有列和行的col宽度和行高,而不是一次。最终目标是列出所有具有用户选项的图像,以控制显示图像的大小。它将被用作产品显示,因此还需要一些自定义绘图 ..
发布时间:2017-04-23 12:43:02 Delphi

您可以在Windows中创建无边界应用程序主窗口,无WS_POPUP风格?

我想创建一个窗口,这个窗口将成为主窗口,Windows将其视为主应用程序窗口。然而,当我使我的窗口无边界,没有任何非客户端区域,Windows不再认识到这个窗口是一个应用程序主窗口。这有几个副作用: WindowsKey + M最大限度地减少了我应用程序主窗口以外的所有窗口。 在任务栏上单击一次(在win7中),然后再次应该在应用程序主窗口的状态/可见性之间切换正常和最小化状态。对于这 ..
发布时间:2017-04-23 12:42:41 Delphi

Delphi 6 - 运行时读取控制台应用程序的输出

在运行控制台应用程序的输出时如何读取?我启动控制台应用程序,并希望读取由控制台应用程序打印的输出。 解决方案 a href =“http://delphi.about.com/cs/adptips2001/a/bltip0201_2.htm”rel =“noreferrer”>解决方案。 编辑:链接导致此解决方案(轻轻地重构了易读性,并删除使用与): //该示例运行'chkd ..
发布时间:2017-04-23 12:41:15 Delphi

为什么CharInSet比Case语句更快?

我很困惑在CodeRage今天,Marco Cantu说CharInSet很慢,我应该尝试一个Case语句。我在我的解析器中这样做,然后用AQTime检查加速是什么。我发现案例陈述要慢得多。 4,894,539执行: 而不是CharInSet(P ^,['',#10,#13,#0])do inc(P); 时间为0.25秒。 但执行次数相同: while True do ..
发布时间:2017-04-23 12:40:01 Delphi

如何实现较小尺寸的可执行文件?

最近我在长时间的停顿后回到了Delphi,写了一个非常直接的实用程序,我的客户端要求支持旧版本。 我知道这几天的大小并不重要,但是令我感到奇怪的是,一个单位的应用程序在编译时总共为1'084'416 b的可执行文件。我写的唯一的.pas单位是大约20.8k大,主要是因为gui的丰富程度。 使用子句如下: 使用 Windows,Messages,SysUtils,Variants ..
发布时间:2017-04-23 12:39:49 Delphi