Delphi:检查文件是否正在使用

2023-11-27

我想写入/删除文件,但有时如果该文件正在被另一个程序使用,我会崩溃。如何检查文件是否被其他进程打开或者我可以打开它进行写入?


问题是,在您检查是否可以获得独占访问权限和打开文件之间,其他东西获得了对该文件的独占访问权限,无论如何您都会收到异常。

查看是否可以获得文件上的独占锁的唯一万无一失的方法是尝试获得文件上的独占锁,如果获得了,那么您就拥有了它。

如果没有,您将捕获异常,并且

  • 去做点别的事吧
  • 稍等片刻,然后重试

这是生活中的一种情况,请求宽恕比获得许可更好:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Delphi:检查文件是否正在使用 的相关文章

  • python 打开相对文件夹中所有以.txt结尾的文件

    我需要打开并解析文件夹中的所有文件 但我必须使用相对路径 类似于 input files 我知道在 JavaScript 中你可以使用 path 库来解决这个问题 我怎样才能在Python中做到这一点 这样您就可以获得路径中的文件列表作为列
  • Android中如何检测程序的终止?

    当 Windows 程序终止时 它会调用事件处理程序 例如 OnClose OnDestroy 和析构函数 Destroy 当我想保存一些 INI 设置时 这些地方就是我要保存的地方 我为所有这些事件编写了事件处理程序 但当我终止程序时它们
  • iPhone存储然后从Documents文件夹中读取文件

    这一定很容易 但我想将一个文件放在 文档 文件夹中 该文件在启动时读入 我有关于如何阅读的代码 并已确认其在正确的目录中查找 但是 当我保存在 xcode 中的 Resources 文件夹中时 我的文件 RootList txt 存储在 R
  • 如何通过双击图标来执行JAVA程序?

    我写了一个java程序 现在我想在没有 IDE Eclipse 等的情况下打开我的控制台 java 应用程序 只需双击桌面上的可执行版本即可 我已将 java 项目导出为 Runnable JAR 文件 但无法打开 当我尝试使用cmd打开应
  • 我有进程 ID,需要使用 Delphi 5 以编程方式关闭关联进程

    任何人都可以帮我提供一个编码示例 以便在我拥有进程 ID 时关闭关联的进程 我将使用 Delphi 5 在 Windows 2003 服务器上以编程方式执行此操作 如果您有进程 ID 并希望强制终止该进程 可以使用以下代码 function
  • 在 ADO 查询 (mysql/MyConnector) 中使用参数

    今天我下载并安装了 MyConnector 这样我就可以通过 ADO 使用 Mysql 一切都安装好了 我可以与 ODBC 连接并从我的 delphi 环境进行连接 当我在运行时构建查询时 我收到一条错误消息 项目 Project1 exe
  • Zend_Cache_Backend_Sqlite 与 Zend_Cache_Backend_File

    目前我正在使用 Zend Cache Backend File 来缓存我的项目 尤其是来自外部 Web 服务的响应 我在想是否能找到将结构迁移到 Zend Cache Backend Sqlite 的一些好处 可能的优点是 文件系统有序 缓
  • 是否可以在虚拟树视图中选择多个列?

    我需要添加功能来复制节点和列的矩形选择 但我找不到任何方法来实际选择虚拟树视图中的多个列 除了 toFullRowSelect 之外 我只是错过了什么吗 如果没有 是否有一个后代具有类似网格的多列选择支持 经过一些测试后 我得出了以下结论
  • xhr 响应 for 循环不起作用

    我有 xhr 和 for 循环 它的工作非常罕见 for var i 0 i lt this files length i var xhr new XMLHttpRequest xhr upload onprogress function
  • c 使用 lseek 以相反顺序复制文件

    我已经知道如何从一开始就将一个文件复制到另一个文件 但是我如何修改程序以按相反的顺序复制它 源文件应具有读取访问权限 目标文件应具有读写执行权限 我必须使用文件控制库 例如 FILE A File B should be ABCDEF FE
  • Delphi:如何计算大文件的 SHA 哈希值

    您好 我需要生成 5 Gig 文件的 SHA 您知道有一个非基于字符串的 Delphi 库可以做到这一点吗 你应该使用DCPcrypt v2 http www cityinthesky co uk cryptography html读取缓冲
  • 如何获取 tokio-io 的 async_read 文件句柄

    我想从文件句柄中流式传输行 但我不知道如何满足File has async read use std fs File use std io BufReader BufRead use tokio core reactor Handle us
  • 如何解压 msgpack 文件?

    我正在将 msgpack 编码的数据写入文件 在编写时 我只是使用 C API 的 fbuffer 如 我为示例删除了所有错误处理 FILE fp fopen filename ab msgpack packer pk msgpack pa
  • 构建机器是否需要单独的 Delphi XE4 许可证?

    用于通过以下方式构建应用程序dcc32在构建服务器上我可以使用 Delphi Trial 这种方法的许可证没有任何问题 现在 我将通过以下方式在 TeamCity 上构建 Delphi XE4 应用程序msbuild 我是否需要拥有构建机器
  • 将 numpy 数组及其大小写入二进制文件

    我需要将 2D numpy 数组写入文件 包括其尺寸 以便我可以从 C 程序中读取它并创建相应的数组 我编写了一些简单的代码来保存数组 并且可以从 C 读取它 但是如果我尝试先写入数组的大小 它总是会给我一个错误 这是我的简单 python
  • delphi专家中的第三方依赖

    我正在编写一个delphi ide Expert 带有一些第三方依赖项 视觉控件 我的问题是当这个专家将安装在目标机器上时 这台电脑是否也需要安装这些第三方组件 或者组件是embeded在生成的 bpl 内部 它们将依赖于您放置在包的 re
  • 如何在Delphi中实现人工神经网络? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想要一个人工神经网络 42 个输入神经元 168 个隐藏神经元 7个输出神经元 这个网络就是玩 连四子 的游戏 每场比赛结束时 网络
  • 当 datasnap 服务器中的用户授权失败时,是否可以更改响应代码?

    当用户授权失败时 是否可以更改 DataSnap Delphi XE3 服务器中的 HTTP 响应代码 目前正在回归HTTP 1 1 500 内部服务器错误 这可能发生在许多其他场景中 并且无助于描述问题 按照同样的想法 是否可以更改默认的
  • Django 1.6 的静态文件

    我花了一整天但没有任何作用 我在这里看到了至少 20 篇关于同一主题的帖子 它们各不相同 有不同的建议 但没有一个对我有用 使用 Python 2 7 运行 Django 1 6 我正在尝试从 django 教程加载民意调查应用程序的 cs
  • 我的代码哪里有泄漏?

    下面是我的代码 它打开一个 XML 文件 old xml 过滤无效字符并写入另一个 XML 文件 abc xml 最后 我将再次加载 XML abc xml 当执行以下行时 出现异常 表示 xml 文件被另一个进程使用 xDoc Load

随机推荐

  • Web 应用程序未在 Firebase 项目控制台中注册

    在我的项目控制台中 我收到此消息 FancyProject 项目中目前没有应用程序 然后 我收到将 Firebase 包含在我的应用程序的脚本标记中的说明 但是 我已经将其包含在我的 React 应用程序中 如下所示 并且我已检查以确保它注
  • 为什么运行 hadoop (或 dfs 命令)时不断显示已弃用的错误

    我已经安装了hadoop 2 0 0 alpha 但是每当我执行命令时 它都会给我弃用错误 尽管它看起来运行没有问题 hadoop bin hadoop dfs copyFromLocal input input DEPRECATED Us
  • JSDoc UML 图

    问题 我正在编辑和使用一个开源 JavaScript 库 该库的代码中包含 JSDoc 标签 我想知道是否有人知道 JSDoc 插件 它可以让我从 JSDoc 标签生成类图 编辑 我决定尝试一下js uml并发现以下内容 JS UML ec
  • SQL 查询语法错误 - 字段名称中存在空格

    我的应用程序使用的数据库的字段名称包含空格 我相信这是我的问题的原因 这是一个典型的查询 SELECT FROM OV2 BAS AS bas INNER JOIN OV2 RefID AS ids ON bas Ref ID ids Re
  • Spring boot 字段需要一个无法找到的类型的 bean

    我正在阅读 Spring Boot 的 JPA 入门教程 但我正在努力 我知道这个问题有时在这里被问到 字段需要一个无法找到的类型的 bean 使用 mongodb 的 spring Restful API 错误 但这些问题和我遇到的有点不
  • 在不知道属性类型的情况下从属性和列表值获取属性值

    我想传入属性名称并返回值 这将位于通用实用程序中 并且它不知道属性类型 Update如果有人需要这样做 这就是实际的工作代码 我需要一种方法让核心代码解析属性而不知道它们是什么 public void LoadPropertiesToGri
  • 地图上大量标记的问题

    我正在开发一款 iPhone 上已经存在的 Android 应用程序 在应用程序中 有一个 Map 活动 它有 我数过 大约 800 个标记 分为四组 并用四种不同颜色的可绘制标记进行标记 每个组都可以打开或关闭 有关我在列表中的标记的信息
  • Angular 4:找不到组件工厂,您是否将其添加到@NgModule.entryComponents?

    我正在使用带有 webpack 的 Angular 4 模板 当我尝试使用组件 ConfirmComponent 时出现此错误 找不到ConfirmComponent 的组件工厂 您是否将其添加到 NgModule entryCompone
  • HTML 表格单元格可以使用 CSS 重新排列吗?

    我想知道是否可以仅使用 CSS 重新排列 HTML 表格单元格 例如可以这样 A B C 显示为 C A B 或者甚至是这样的
  • 在java中使用正则表达式替换括号中的逗号

    我想仅在括号内替换逗号 例如 Progamming languages Java C Perl TO Progamming languages Java or C or Perl 但它不应该替换以下字符串中的逗号 Progamming la
  • pandas:如何消除值以特定字符结尾的行?

    我有一个 pandas DataFrame 如下 mail DataFrame mail email protected email protected email protected email protected nfjebfj ema
  • 如何在 Windows 上安装 rmagick gem?

    如何为 Windows XP 安装 rmagick gem 我已经使用头文件安装了 ImageMagick 并且安装了 DevKit 附带的 RailsInstaller org 我不知道到哪里去修复这些错误 C RailsInstalle
  • 一次迭代两个数组的每个循环

    我有两个大小相同的 Javascript 数组 var demo new Array var demo3 new Array 我需要在 JQuery 代码中的每个循环中访问两个数组的值 冲浪了一段时间后 我遇到了 zip 操作 我尝试使用代
  • 根据用户更改主题/CSS

    我正在开发一款产品 我们最终将为其贴上白标标签 现在 我正在尝试找出以编程方式满足这些要求的最佳方法 以便用户可以通过其个人资料 设置表单更新网站的基本设计 即标题颜色等 要求 用户可以更新徽标 已完成 用户可以更新基本设计元素 基于 CS
  • 如何用JS以不可变的方式连接数组

    我想知道如何联系不可变的数组 让我们想象一下我从数组开始list 4 1 然后我从动作响应中接收数组 如下所示items 5 2 6 如何连接结果为的数组 4 1 5 2 6 并且该操作是不可改变的 Bonus 如何覆盖具有相同 id 的项
  • C++ std::string 是容器吗?

    对于你们中的一些人来说 这可能是一个简单的问题 但我想知道是否std string是一个容器 我所说的容器是指容器 例如std vector std list and std deque Since std basic string lt
  • 使用 Asyncio 进行非阻塞 Websocket 接收

    我正在开发一个 Python 3 程序 它试图做两件事 1 从外部 websocket 非阻塞 读取数据 类型 1 并且 2 在常规UDP套接字上接收数据 类型2 非阻塞 有很长一段时间 websocket 和 UDP 套接字上都没有数据
  • 以编程方式更新 Android 操作系统

    我正在从事一个移动设备管理项目 我们项目的要求之一是以编程方式更新 Android 设备操作系统 流程如下 服务器发送有关操作系统更新的推送通知 Android 客户端下载更新 现在我想以编程方式更新 Android 设备操作系统 我怎样才
  • 如何根据特定索引范围对 ArrayList 进行排序

    我的需要是根据特定的索引范围对字符串的 ArrayList 进行排序 例如 我的列表中有以下项目 abc xyz pqr asd 现在我想从索引 1 到最后一个索引对该列表进行排序 一种方式我认为我可以从具有所需索引范围的主列表创建一个子列
  • Delphi:检查文件是否正在使用

    我想写入 删除文件 但有时如果该文件正在被另一个程序使用 我会崩溃 如何检查文件是否被其他进程打开或者我可以打开它进行写入 问题是 在您检查是否可以获得独占访问权限和打开文件之间 其他东西获得了对该文件的独占访问权限 无论如何您都会收到异常