问题标签 [datamodule]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
195 浏览

delphi - 为什么打开数据模块时组件面板会发生变化?

我在 Windows 7 x64 上安装了 Delphi 7。事情进展顺利,但现在,当我打开或创建一个数据模块时,它会弄乱组件面板。搞砸了,我的意思是它似乎打乱了哪些选项卡组件,或者完全隐藏它们。这真是不寻常的行为。

卸载并重新安装 Delphi 7 没有帮助。

0 投票
2 回答
187 浏览

c++ - 删除 TDataModule 但保持 TADOConnection 不变

我有一个与一些共享 TADOConnection 的 TDataModules 的库。我在某些应用程序中创建和删除数据模块。

当我删除数据模块时,我收到 EAccessViolation 错误。我认为这是因为数据模块想要删除共享的 TADOConnection。

我尝试在调用析构函数时将 tdatamodule->tbquery->Connection 属性设置为 NULL,但没有任何运气。

为什么我认为错误存在于 TADOConnection 中?因为当我在没有库的情况下构建应用程序时,我可以毫无问题地创建和删除数据模块。当我使用具有自己连接的数据模块创建一个库时,我也没有问题。

有什么帮助吗?提前致谢!

错误: http: //oi60.tinypic.com/noyc6x.jpg

调用栈: http: //oi61.tinypic.com/sgljx5.jpg

0 投票
2 回答
278 浏览

delphi - Delphi 组件从新数据模块的组件面板中消失

我的组件的声明是:

TActivex组件:

当我在任何 Delphi 版本中打开一个新的 DataModule 时,该组件将从组件面板中消失。

我尝试更改 Delphi XE2 中的 ClassGroup,但这不起作用。

0 投票
2 回答
269 浏览

delphi - 有效地访问具有相同数据对象名称的两个 Delphi 数据模块中的任何一个

我有一个丑陋的情况,我在 Delphi 应用程序中需要两个数据模块(TDMA,TDMB)。每个数据模块具有相同的数据对象名称(查询、表等),但来自不同的组件集(TZQuery、TADOQuery)。我需要这个,因为我想支持多个数据库,但我的组件套件并不支持所有数据库。我需要访问哪个数据模块由 DBFlag 布尔变量确定。除了为每个数据访问提供几乎相同的代码段之外,还有更有效的方法吗?

如果我可以根据 DBFlag 将像 DMG 这样的全局数据模块变量设置为 DMA 或 DMB,那么我的代码可以引用 DMG 而不是 DMA 或 DMB。这将是理想的,并且只需要很少的代码修改,但据我所知是不可能的。

0 投票
1 回答
326 浏览

delphi - 没有 .Create 但没有问题的 TDataModule 后代“创建”?

我突然注意到TDataModuleTestExchange(nil)我们的代码库中有一个“构造函数调用”:

所以代替TDataModuleTestExchange.**Create**(nil)这个工作就好了!

没有编译器错误,没有运行时问题。怎么来的?

0 投票
2 回答
923 浏览

delphi - 从另一个表单访问 DataModule 的事件(delphi 设计时)

我想知道是否有任何方法可以将组件的事件(As TButton.OnClick)链接到数据模块中定义的过程(在设计时)。目前,我在运行时这样做:

目标是在 Object Inspector 窗口的下拉列表中获得建议的 MyDataModule.MyOnClickEvent。提前感谢所有将分享他们的知识的人:D

注意1: 这是一个类似的问题,但没有关于如何在设计时完成相同任务的信息: Access an event on a DataModule from another Form

注意2: 我发现的唯一方法是在父表单上定义所有事件,但我希望有一个更清洁的解决方案

0 投票
1 回答
1509 浏览

delphi - 我什么时候需要释放应用程序创建的数据模块?

我的代码如下:

如果我没有像在代码中那样显式释放 DM,我会收到访问冲突异常,但在另一个应用程序中,代码是这样的:

我不必释放 DM,也没有任何异常。这是为什么?

0 投票
3 回答
1200 浏览

delphi - 是否可以在没有 .DFM 的情况下使用数据模块?

我在一个单独的数据模块中卸载了所有 ADO 引擎盖,因此一个模块可以被多个应用程序引用。我所有的应用程序基本上只需要两个工作方法来访问数据:

AdoQueryTADODataSet.
AdoExecute执行简单的更新/删除查询而不获取任何结果。

这是类结构:

然后我在类方法中添加了两个公开的包装器。我用它来避免调用中的长类引用:

以上是我在所有表单中调用的工作函数。

AdoConnectDataModuleCreate事件中只运行一次。TDatModule 派生自TPersistent,它允许在整个运行时持久化连接的单个实例。

到目前为止,唯一让我烦恼的是一个无用的 .DFM,我根本不需要它。
有没有办法摆脱它?

0 投票
1 回答
9411 浏览

delphi - 无法对打开/关闭的数据集执行此操作?

大家好,我写了一个函数,它必须检查给函数的 ID iID,然后输出找到它的成员的名称,否则它必须输出它没有找到

调用此函数时,另一个表处于活动状态,因此它必须将表更改为Members(以搜索 ID),然后再返回(我有多个表)

但问题是每次我调用此函数时都会收到一条错误消息,提示“无法在打开的数据集上执行此操作”

如果我在运行函数之前关闭数据集,我会得到“无法在关闭的数据集上执行此操作”

我知道当我尝试访问表名或更改它时会发生错误(当这 3 行被注释掉时,该函数不会给出错误)

我不知道如何使这项工作任何帮助将不胜感激

0 投票
3 回答
185 浏览

delphi - 将项目加载到 Delphi XE6 时出现随机错误

有时我在XE6 IDE中加载项目时,会出现以下错误

在delphi XE6中打开项目时项目加载错误

此错误导致 TZConnection 组件由于某种莫名其妙的原因从 Datamodule 中删除。请注意,该项目已经加载了很长时间而没有出现问题,而且出乎意料,这种情况发生了。

有没有人见过这种情况并知道阻止它发生的方法?它也发生在其他组件中,并不总是 TZConnection 组件,但主要是 ZConnection。

就像我之前说的,这是随机出现的。我可以关闭项目 A,打开项目 B,然后将其关闭并返回到项目 A 并砰!,发生错误。

有什么线索吗?(请注意,这也曾经发生在 Delphi 2007 中)