delphi-2006相关内容

Delphi - 查找从我的程序访问文件的进程

我有一个定期写入本地磁盘文件的 Delphi 应用程序.有时它无法访问文件 - 尝试打开它时会导致共享冲突.只需要在短暂延迟后重试即可,但是当它发生时,我想报告阻止访问的进程. 当我的程序发生共享冲突时,枚举所有正在使用的文件句柄,检查文件名,如果它与我的数据文件的名称匹配,检索与该句柄关联的进程名称是否可行? 一些示例代码会很好. 解决方案 你基本上有两种方式 简单的方 ..
发布时间:2022-01-02 19:34:51 其他开发

Delphi 中的单元测试 - 你是怎么做的?

我想知道这里的少数 Delphi 用户是如何进行单元测试的(如果有的话)?是否有任何与您发现的 IDE 集成的东西运行良好?如果没有,您正在使用哪些工具,您是否拥有或知道展示其工作原理的示例迷你项目? 更新: 我忘了说我使用的是 BDS 2006 Pro,虽然我偶尔会使用 Delphi 7,当然其他人可能会使用其他版本. 解决方案 DUnit 是 xUnit 类型的单元与 wi ..
发布时间:2021-12-13 23:53:11 其他开发

Delphi 调试一个错误的单元

这是我的 D2006 的一个奇怪行为,因为它有时会发生.我有一个要调试的项目.我要调试的文件名为“Main.pas".我有另一个具有相同单元名称的不相关项目,有时调试会提示我错误的主文件而不是当前项目中的主单元.这发生在我身上,有其他同名文件.我无法调试,因为调试键不起作用(它们什么也不做).你遇到过同样的问题吗?我该如何解决? 谢谢. 解决方案 你使用相对路径吗? 如果是,我 ..
发布时间:2021-12-13 23:52:01 其他开发

Delphi 代码格式化程序

是否有任何实用程序可以重新格式化 Delphi 代码? 编辑 我使用的是 Delphi 2006 一些反馈 感谢所有回答这个问题的人 我一直在使用 JCF 代码格式化程序 - 它运行良好并且我的代码被格式化为 Object Pascal Style指南 解决方案 你可以试试"Jedi 代码格式".在此处查看更多信息:http://jedicodeformat. ..
发布时间:2021-12-13 22:56:04 其他开发

在 Delphi 中创建可访问的 UI 组件

我正在尝试从标准 VCL TEdit 控件中检索可访问信息.get_accName() 和 Get_accDescription() 方法返回空字符串,但 get_accValue() 返回输入到 TEdit 中的文本值. 我刚刚开始尝试了解 MSAA,此时我有点不知所措. 我的 TEdit 是否需要有额外的已发布属性来暴露给 MSA?如果是这样,那是否需要创建一个继承自 TEdit ..
发布时间:2021-11-26 19:02:44 其他开发

TOpenDialog 的尺寸数据存储在哪里,如何重置?

TOpenDialog 有一个选项 ofEnableSizing 允许用户修改打开对话框的对话框大小.这个尺寸数据似乎是为应用程序存储的.如果程序再次启动,对话框会以相同的大小打开. 我的问题是,这些数据存储在哪里.我想知道是否有一种简单的方法来重置这些数据.我在 ofEnableSizing 和相应的 API 标志 OFN_ENABLESIZING 的文档中都没有找到相关信息. 解决 ..
发布时间:2021-09-25 19:00:50 其他开发

更改ShowMessage对话框的标题和属性

在Delphi中,您可以更改 ShowMessage 对话框的标题吗,因为默认情况下它使用我的exe名称. 我可以更改背景颜色,大小相同吗? 解决方案 您可以使用delphi的 CreateMessageDialog 函数创建自己的自定义对话框. 以下示例: varDlg:TForm;开始Dlg:= CreateMessageDialog('message',mtInfor ..
发布时间:2021-04-30 18:42:06 其他开发

TDbLookupComboBox或具有一组固定值的等效控件?

是否存在类似TDbComboBox的控件,该控件通过固定列表获取其显示值(用于枚举类型,例如TSomeValueEnum = (svSmall=1, svMedium=2, svLarge=3))? 例如: 1=small 2=medium 3=large 在数据库中保存1或2或3,但是在组合框中仅应显示相应的值. 解决方案 升级组件有一个TRzDbComboBox,其中有 ..
发布时间:2020-06-11 18:57:06 其他开发

在存储库(SVN)中包括Delphi类型库吗?

在SVN中保存Delphi类型库的最佳方法是什么. 每次编译应用程序时文件都会更改 该文件未以可读的AscII格式保存 很难弄清从一个版本到下一个版本所做的更改 当多个人更改文件时,这是一个主要问题 问题: 1)是否应该将导出的"IDL"文件保存在版本控制中? 2)可以将一个"IDL"隐藏到Delphi类型库中吗? 3)使用Delphi类型库时的最佳 ..
发布时间:2020-06-11 18:57:02 其他开发

Delphi 2006-优雅地杀死线程并让OnTerminate处理程序启动的最佳方法是什么?

我有一个线程有时会死死(我怀疑),这是由于DLL调用永不返回.在一般情况下,在您调用了Indy之类的阻塞例程的情况下,是否有一种方法可以从该方法中恢复,从而使线程OnTerminate处理程序触发?如果我调用TerminateThread,会发生这种情况吗? 解决方案 TerminateThread()是立即蛮力终止.它不会让OnTerminaate事件触发. OnTerminate可以触 ..

使Delphi IDE崩溃的已知构造

我正在使用Turbo Explorer 2006(更新2),有时IDE会在某个单元中崩溃,尤其是当我尝试使用类完成功能时。该单元(和整个项目)已经投入生产并且运行良好,并且每天进行修改,只是IDE工具失败了。 通常,如果发生这种情况,Delphi在崩溃中幸存下来,但IDE的某些部分已失效(例如,工具提示中单位不在.dpr中的表达式的调试值) 我怀疑解析器死于某些特定的构造,可能是某些东 ..
发布时间:2020-06-11 18:56:57 其他开发

如何制作具有透明背景的TScrollBox?

我有一个 TFrame 和一个 TImage 作为背景。 此框架是我在主 TForm 中有限空间内放置的其他框架的祖先。 因此,这只是其他框架的用户界面基础。 我需要在这些框架中放置许多控件,因为它们将处理大型数据库形式。 由于主表单的空间有限,我需要在所有 TScrollBox > TFrame 空格(标题栏除外)。但这涵盖了背景图像。 如何使此ScrollBar变为背 ..
发布时间:2020-06-11 18:56:49 其他开发

如何将配置信息放入可执行文件中?

如果我们想在Delphi编译器生成的可执行文件中存储关键信息,例如密码和服务器地址,我们如何做到这一点,而又不知道最终的可执行文件大小和二进制结构(如文件末尾)例如? 旁注: 要存储的文本已经加密;在某些计算机中,Windows不允许访问注册表中的内容,特别是在用户不是管理员的情况下,并且有黑客可以监视注册表的更改,并且精明的用户可以找到新的Windows注册表项. 评论 ..
发布时间:2020-06-11 18:56:43 其他开发

有没有一种简单的自动方法来找出与Delphi项目相关的所有源文件?

我喜欢在发布版本时备份项目的源代码集.我使用GExperts项目备份,该备份似乎将项目管理器中的所有文件收集到ZIP文件中.您也可以向该文件集添加任意文件,但是我始终意识到我并不一定要拥有所有文件.除非我特别研究了uses子句,并将我拥有源代码的所有单元添加到项目中,否则我将永远无法确保存储重新创建可安装/可执行文件所需的所有文件. 我曾考虑过要滚动一个应用程序来遍历一个项目,跟踪所有使用的 ..
发布时间:2020-06-11 18:56:36 其他开发

如何使用TypInfo RTTI方法为子属性项目设置值?

在我的问题中: 如何将“发件人"参数与"As"运算符一起使用一次而不是一个类 我选择雷米·勒博(Remy Lebeau)的答案,因为它是在大多数情况下最具活力的技术.它使用RTTI TypInfo类. 但是当我使用此类时,另一个问题出现了: 我们如何设置子属性值? function TRemote.UpdateQuery(DataSet: TDataSet; SQL: Strin ..
发布时间:2020-06-11 18:56:32 其他开发

如何在Delphis MessageDlg中忽略计时器事件

我已经在Delphi中设置了一个全局异常处理程序。在某些严重的异常情况下,将显示一条错误消息(紧随其后的是Halt())。当显示错误消息时,Delphi正在处理消息队列,处理计时器事件,这会导致进一步的错误。 我要显示的是一个错误对话框不处理计时器事件。 编辑:我用Dialogs.MessageDlg(...)显示消息。 解决方案 您可以使用 ..
发布时间:2020-06-11 18:56:28 其他开发

似乎Delphi有时区分大小写-“替代方法应匹配祖先的大小写”。

今天我遇到了一个“奇怪”的提示: 覆盖方法xxxx应该与祖先yyyy的大小写匹配。 解决方案是声明方法名称与祖先完全相同。...我相信这是自Delphi.Net以来在编译器中保留的内容。编译器... 完全像祖先一样声明该方法,使编译器“无声”。 解决方案 在Delphi 2006及更高版本中还有其他“区分大小写”的提示/警告吗?与第三方代码协作时的代码。 此提示是在 ..
发布时间:2020-06-11 18:56:23 其他开发