在delphi中使用数据模块分离数据集实例

2023-12-10

我在用Delphi6并有一个数据模块ADO DataSet它由两种形式使用,formS 和 Form B。每种形式都有一个Dataset.Open() in OnCreate and Dataset.Close() in OnClose。如果两个表单同时打开并且 formB 关闭,则数据集在 formA 中关闭。我怎样才能防止这种情况,本质上我需要为每个表单提供单独的数据集实例,但同时使用数据模块。


实现您想要的最简单的方法是为每个表单创建一个数据模块的实例,并将其传递给表单,以便在表单关闭时可以释放它:

var
  Data: TDataModule;
begin
  Data := T<YourDataModule>.Create(Self);
  try
    Form := T<YourForm>.Create(Self);
    Form.DataModule := Data;
    Data.Name := '';
  except
    Data.Free;
    raise;
  end;

  Form.Show;
end;

将 DataModule 的名称设置为空字符串是为了确保将数据感知控件连接到其数据源/数据集的 VCL 逻辑是使用新创建的实例而不是第一个实例来完成的。

在表单的 OnClose 处理程序(或其析构函数)中,确保释放数据模块。

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

在delphi中使用数据模块分离数据集实例 的相关文章

  • OSError: [Errno 22] 当我尝试 .read() json 文件时

    我只是想用 Python 读取我的 json 文件 当我这样做时 我位于正确的文件夹中 我在 下载 中 我的文件名为 Books 5 json 但是 当我尝试使用 read 函数时 出现错误 OSError Errno 22 Invalid
  • Delphi:写入后代类中私有祖先的字段

    我需要修复第三方组件 该组件的类具有私有变量 该变量由其后代主动使用 TThirdPartyComponentBase class private FSomeVar Integer public end TThirdPartyCompone
  • 对象的引用计数

    在我的代码中 我使用一个小的数据存储类 它是在不同的地方创建的 为了避免内存泄漏并简化事情 我想使用引用计数 所以我这样做了 type TFileInfo class TInterfacedObject IInterface 并删除了我对
  • 如何在Delphi中显示Vista风格的气球提示?

    在输入验证时 我使用气球提示而不是消息框 我的问题是 在 Vista 上 它们具有带圆角的旧 XP 样式 而不是较新的矩形外观 我尝试使用 CreateWindowEx 创建它们并且tooltips class32或使用 SendMessa
  • 通过套接字发送动态数组(在记录内)?

    我正在尝试直接使用 SendBuf 将记录从服务器传输到客户端 但是 该记录有一个动态数组的成员 并且我在某处 在 SOF 中 读到 发送记录时 成员必须是静态的 固定长度 但问题是 我无法确定如何我会 将来 发送许多论点 我怎么解决这个问
  • 如何在iOS的Delphi程序中使用IPv6协议

    我尝试在我的移动程序中使用 IPv6 协议 我的服务器位于 NAT 后面的 LAN 内 在服务器上我使用IP端口3000 我已经组织了从路由器端口 45500 到服务器端口 3000 的虚拟服务器 端口转发 在服务器上 我运行 ipconf
  • WPF/数据集:如何通过 XAML 将相关表中的数据绑定到数据网格列中?

    我正在使用 WPF DataSet 连接到 SQL Server Express XAML 和 C Visual Studio 2013 Express 我从名为 BankNoteBook 的现有 SQL Server Express 数据
  • 将图像加载到 TImageList 并读取它们?

    我试图通过将 jpg 转换为 bmp 然后将其保存到 imagelist1 来将 jpg 加载到图像列表中 从上到下的代码片段 Selectdir 有效 fileexists 部分有效 这用于加载文件夹中的所有图像 所有图像都以 0 jpg
  • 如何在Delphi中将对象方法作为参数传递,然后调用它?

    我担心这可能是一个有点愚蠢的问题 但这让我很难过 我正在寻找将对象的方法传递到过程中的最简单的方法 以便过程可以调用对象的方法 例如 超时后 或者可能在不同的线程中 所以基本上我想 捕获对对象方法的引用 将该引用传递给过程 使用该引用 从过
  • 在 Delphi 中淡入 alpha 混合 PNG 表单

    几年前 当 Vista 首次发布时 我曾提出过这个问题 但始终没有解决这个问题 并把它搁置起来 留待以后再考虑 我有一个启动屏幕 我花了很大力气让它看起来很棒 这是 32bpp alpha 混合的 PNG 我有一些代码 如果需要 我可以挖掘
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • TXMLDocument.Active := False 导致 FastMM4 错误消息“FastMM 检测到块在释放后已被修改”

    我们在 FullDebugMode 下使用 Delphi XE8 和 FastMM4 版本 4 992 会产生奇怪的效果 要重现效果 只需创建一个新的 TForm 应用程序 将 FastMM4 放入 DPR 文件的第一行 在表单上放置一个按
  • 为什么 TImage 旋转我的图像?

    编写一个移动应用程序 它从安全网站提取图像 如下所示 第一个图像 提取不正确 注意网络版本与移动版本 第二个图像在网站上正确显示 但 Delphi TImage 由于某种原因正在旋转它我不明白为什么 旋转设置为 0 并且在 TImage 组
  • FireDac 添加下划线 1 以区分具有相同名称的 2 个列名

    我有一个连接 2 个表的选择 因此这些表中存在具有相似名称的列 因此现在在检索结果时 FireDac 将下划线 1 添加到第二个列名称以区分这两个表 Select from Table1 inner join Table2 on Table
  • 使用 Delphi 10.2.1 Tokyo 的模态 Android 对话框

    我有以下用于在 Android 上显示模式消息的 Delphi 代码 该代码在 10 1 Berlin 上运行良好 但在 Delphi 10 2 1 Tokyo 上停止运行 此过程现在会挂起 Android 应用程序 procedure c
  • Delphi 2005 Web 服务问题

    我在尝试通过 Delphi 访问 Web 服务时遇到问题 我使用了 2007 版 WSDLimp 工具的 java WSDL 看起来它已正确创建了所有对象 然而 当我制作一个调用该服务的测试程序时 每个对象都是空的 如果我在 HTTPRIO
  • 面向 Delphi 开发人员的 Qt

    有人知道为 Delphi C Builder VCL 开发人员解释 Qt 的书籍或教程吗 对于具有该背景的开发人员来说 学习 Qt 的最佳方法是什么 我对如何使用 Qt 完成我知道如何在 Delphi 中完成的事情特别感兴趣 例如 Qt 相
  • Windows 更新后 Active 设置为 False 时 TIdHttpServer 冻结

    我们有一个 Indy 版本 10 6 1 5235 TIdHttpServer 服务 多年来一直与 Delphi 2007 配合良好 在最新的 Windows 更新 KB4338815 和 KB4338830 之后 我们注意到当 TIdHt
  • Android中如何检测程序的终止?

    当 Windows 程序终止时 它会调用事件处理程序 例如 OnClose OnDestroy 和析构函数 Destroy 当我想保存一些 INI 设置时 这些地方就是我要保存的地方 我为所有这些事件编写了事件处理程序 但当我终止程序时它们
  • 新编译的应用程序需要 UAC/elevation?

    我有一个系统 我将其设置为普通的 UAC 并在我的 delphi 环境中编译名为 ka exe 的项目 并为其创建一个 installshield 项目 设置完毕 一切顺利 但每当我开始我的程序时 它都需要提升 而我不知道为什么 为了确保

随机推荐

  • 派生类对象是否包含基类对象?

    请考虑下面的示例代码 include
  • 标准错误?它是什么?它的常见用途有哪些?

    对句柄 STDERR 的工作原理感到好奇吗 让我们简单地说一下批处理文件以保持简单和集中 我知道许多编程语言都接受 STDERR 所以我不知道是否可能用途有所不同 或者所有编程语言是否有一个共同的功能 如果有人可以提供一些您所见过的常见用法
  • 当转发到 JSP 时,如何检测 Java Servlet 中的 URL?

    我有一个看起来像这样的 servlet public class ExampleServlet extends HttpServlet public void doGet HttpServletRequest request HttpSer
  • 如何从内容处置中获取文件名

    我下载了一个文件作为ajax的响应 如何获取文件名和文件类型content disposition并显示它的缩略图 我得到了很多搜索结果 但找不到正确的方法 download btn click function var uiid this
  • 如何在 C# 中通过 TCP 连接发送整数数组

    我在 Windows 应用程序中在两台计算机之间建立了 TCP 连接 用于来回发送和接收数据 我发送的消息是一组转换为字符串并用 分隔的整数 因此 为了发送我要使用的数据 if dataSend Length gt 0 m writer W
  • 实现容器视图的问题

    我正在尝试遵循查看 iOS 控制器编程指南在我的应用程序中实现容器视图 目前 我只是想加载初始的第一个视图 但第一个控制器中包含的标签没有显示 最后 我希望能够通过使用分段控件来控制容器中显示哪个视图 任何帮助将不胜感激 我的故事板 视图控
  • Windows Mobile 5 SDK 按钮控制

    我是一名相当新手的程序员 正在开发我的第一个 Windows Mobile 应用程序 我发现我的程序没有可用的按钮控件 我以前从未创建过自定义控件 并且我知道这是为我的应用程序获取按钮的唯一方法 这是我的客户的要求 我想知道是否有人可以给我
  • 如何指定跨域策略文件以允许 Flash 从 RTMP (Wowza) 视频流中抓取位图?

    我正在尝试获取在客户端上播放的 Wowza 视频流的位图 快照 如下所示 var bitmapData BitmapData new BitmapData view videoPlayerComponent width view video
  • 无法将多行字符串设置为环境变量

    如何在 VSTS powershell 任务上将多行字符串设置为环境变量 以下代码仅保存字符串的第一行 string xmlstring Get Content Encoding UTF8 Path System DefaultWorkin
  • 非根位置部署的绝对路径

    我通常使用以下方式引用我网站上的任何资产绝对路径这样我就不必担心资产相对于当前文件的位置 img src images flag png img src images flag png 但是 这次我需要将站点托管在非根位置 例如http m
  • 适配器无法与数据映射器一起使用

    我有以下代码 require sinatra require datamapper DataMapper setup default postgres localhost mydb 但是 当我尝试运行它时 我得到 LoadError 没有要
  • WebKit“拒绝设置不安全标头‘内容长度’”

    我正在尝试实现简单的 xhr 抽象 并且在尝试设置 POST 标头时收到此警告 我认为这可能与在单独的 js 文件中设置标头有关 因为当我将它们设置在
  • 设置 BigDecimal 的特定精度

    我有一个XSD这要求我使用 BigDecimal 来表示纬度 经度 我目前将纬度 经度作为双精度数 并将它们转换为 BigDecimal 但我只需要使用大约 12 位精度 我一直不知道如何设置 谁能帮我这个 您可以使用设置比例 e g do
  • 在 Python 中解析用户提供的数学公式的安全方法

    Python 有数学表达式解析器 求值器吗 我不是第一个问这个问题的人 但答案通常指向eval 例如 可以这样做 gt gt gt safe list math acos asin atan atan2 ceil cos cosh degr
  • 让内部指令在外部指令之前运行

    我有以下 html div ul class tabs li tab li ul div class tab content div tabContent div div div 我遇到的问题是 tabs 指令在 ng repeat 指令之
  • 非自相交多边形创建算法的有效性

    作为扩展和部分答案我的话题我写了一个简单的算法 给定一组点 具有 xy 坐标 可以形成一个非自相交的多边形 主张 给定具有不同坐标的任意点集 始终可以构造规则或不规则 非自相交的多边形 算法 假设有一个包含所有顶点的集合V 1 按x坐标对V
  • 如何实现Delphi的ToolsAPI的IOTAProjectCompileNotifier?

    我正在使用 Delphi XE IDE 我创建了一个通知程序来实现 IOTACompileNotifier 在IDE中安装专家后 当我编译我的项目时 代码运行良好 通知程序正在为 ProjectCompileStarted 工作 第二次编译
  • Angularjs 动态指令

    注意 我对 angularjs 很陌生 问题的最佳解决方案 实践是什么 我有一个数组或键入的值 对于每种类型应该有不同的输入 模板和输入验证 例如 并简化 var vars type int value 42 min 0 max 42 ty
  • 使用 python API 进行的训练作为 java API 中 LabelImage 模块的输入?

    我在使用 java tensorflow API 时遇到问题 我使用 python tensorflow API 运行训练 生成文件 output graph pb 和 output labels txt 现在 出于某种原因 我想使用这些文
  • 在delphi中使用数据模块分离数据集实例

    我在用Delphi6并有一个数据模块ADO DataSet它由两种形式使用 formS 和 Form B 每种形式都有一个Dataset Open in OnCreate and Dataset Close in OnClose 如果两个表