问题标签 [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 投票
4 回答
1219 浏览

delphi - 数据模块组织

我在数据模块上显示了一堆 TTable 和 TSQL 组件。如果我在表单上有这些组件,我可以将相关的 ttable 图标放在面板上,或者在它们旁边放一个标签,这样我就可以对它们进行分组,使它们更容易找到/组织化。TDataModule 不允许其上有可见组件。有什么方法可以让我将 TTables/TSQL 组件彼此靠近放置,并在它们附近放置某种描述性条目(例如标签),以便我可以更轻松地找到它们?

谢谢

0 投票
1 回答
832 浏览

database - 从 Drupal 操作数据库

我是 Drupal 7 的新手。现在我正在尝试使用 D7 构建一个界面,允许我直接操作数据库中的表。我已经安装了几个模块,例如 Data、Migrate、Feeds 等。我设法创建了一个视图来显示我使用 Data Module 创建的表,但我需要从界面中添加和更新行。此外,是否可以设置关系表,以便我可以使用 Drupal 同时更新或删除相关行?

提前致谢

0 投票
1 回答
2264 浏览

delphi - Delphi XE2 中的 TDataModule.ClassGroup 伪属性究竟做了什么?

我试图将一个组件从一个数据模块复制并粘贴到 Delphi XE2 中的另一个数据模块中。该组件是一个快速报告数据源链接组件。数据模块是全新的,刚刚在 XE2 中创建。

其他人也有同样的问题,并在质量中心报告为 106369,同样的错误消息将我引导到这个神秘的 DocWiki 条目。

因此,数据模块现在具有框架亲和性,以及仅设计时的伪属性,根据文档:

“因为 ClassGroup 伪属性仅由 IDE 使用,而不是编译器生成的属性(因此,'伪属性'),ClassGroup 没有记录在编译器生成的库参考中。您正在阅读的页面是ClassGroup 的文档。”

因此,我什至第一次知道它的存在是当它阻止我从一组现有的设计时构建块中复制和粘贴组件到我的数据模块中时,我不想从头开始重建。

一旦我更改了数据模块的关联性,我就可以将内容粘贴到数据模块中而不会打扰我。谢天谢地,谷歌那个错误,否则我会被卡住。

如果它旨在帮助我们编写跨平台数据模块,但它只影响 IDE,根据文档,这与您在设计时使用它时收到的警告不一致,这是您在更改时收到的错误它:

我看不到该错误消息如何正确,文档也可以正确。

如果设置不正确,警告似乎暗示编译、链接和运行时错误。好奇的人想知道到底发生了什么,想知道:这是什么东西,为什么它会被添加到 XE2 的数据模块中。我预计其他人会偶然发现这个奇怪的功能,感觉他们踩到了恐龙粪便之类的东西,并想知道这个功能是怎么回事。

在这一点上,我最好的答案是数据模块对 TPersistent 的亲和性,这意味着,用 XE2 术语来说,这个数据模块不希望其中包含 VCL 特定的非可视控件。在 Delphi 的未来版本中,也许一个类似的标记也可以让我们将表单标记为“对 VCL 或 Windows 的依赖项”?

更新 1:数据模块的 .PAS 源代码以一种看起来有点像编译器指令的方式存储此伪属性,如下所示:

0 投票
3 回答
945 浏览

delphi - 新的 TFrame 和 TDataModule 使 Delphi IDE 崩溃

这是我遇到的问题:

在 BDS 2006 IDE 中工作,我的旧电脑不见了,新的(i7 mount)已经建成,它有 Windows 7 Ult OS 64 位,安装了 2006 和 QuickReports Pro 以及 eDocEngine、FIB+、TMS、LMD、ZEOS 和 DB 比较器组件包 - 我在我的产品中使用它们。

在计算机上,我也安装了 Office 2010,默认为 32 位版本和 Adob​​e CS6。就是这样。

安装后我尝试了几次重新安装 RAD 2009,无论如何,总是同样的问题,为了简化它是 100% 可重现的:

  • 创建新的 Delphi VCL Forms 应用程序;
  • 单击文件/新建/其他并转到,例如“Delphi 文件”并选择FrameDataModule。创建新文件时,我们一直有消息:

“堆栈溢出 - 保存您的工作并重新启动 Delphi for Microsoft Windows”

之后 IDE 设置为错误状态,然后按 F12(显示 VCL 设计器)关闭 Delphi 并出现一般错误。

知道会发生什么吗?

正如我所说,我尝试了几次卸载 - 安装 2006,以任何个性开始,使用/不使用来自 Andy 网站的任何更新或 IDE 修复,没有任何帮助。

任何帮助将不胜感激。

0 投票
0 回答
780 浏览

delphi - Delphi - 通用数据模块

我正在尝试定义泛型数据模块,如下所示:

但是当我这样做时,Delphi 误解了数据模块并认为它的形式(将客户端宽度、字体等表单属性添加到 .dfm 文件中)。我希望这个数据模块仅用于继承,所以我尝试将其作为没有 .dfm 文件的简单类,然后制作从它继承的真实数据模块(带有 .dfm 文件)。例子:

一切看起来都很棒,但只是在我关闭和打开项目的那一刻。在项目打开时,Delphi 出于某种原因再次将 TDataModule2 解释为表单(这会导致运行时出现异常)。

我正在使用德尔福 XE。有没有办法让这成为可能?

0 投票
2 回答
3336 浏览

delphi - Delphi XE2 数据模块只需要数据库组件?

在以前的 Delphi 版本中,我使用数据模块 ( TDataModule) 作为保存非可视组件的地方,以避免使主窗体混乱。在 Delphi XE2 中,当我创建一个新的数据模块时,它只允许我在其中放置与数据库相关的组件(例如TADOConnectionTDataSource)。为什么会这样,我怎样才能将其他组件放入其中?有替代方案吗?

0 投票
1 回答
501 浏览

delphi - 操作管理器在数据模块中时未捕获键盘快捷键?

在 Delphi XE2 中,我的应用程序中有一个数据模块,该数据模块中有一个动作管理器。我已经为每个操作分配了键盘快捷键,但是当我尝试在应用程序中使用这些快捷键时,它并没有捕捉到它们。

我正在应用程序的初始化中创建数据模块(由于项目主文件中的 IDE 扭曲代码,它被移动到不同的单元)......

像这样创建数据模块的原因是应用程序的所有各种形式都能够使用其中的组件,特别是动作管理器。它必须在创建主窗体之前创建。

当操作管理器位于数据模块中时,如何使操作项的键盘快捷键起作用?

0 投票
1 回答
959 浏览

c++ - C++ Builder XE2:在 dll 中初始化数据模块

我正在尝试创建一个包含 VCL 数据模块的 dll - 想法是各种应用程序都可以加载相同的 dll 并使用相同的数据库代码。

数据模块本身作为应用程序的一部分经过测试可以正常 - 我已将表单复制到我的 dll 项目中。

所以在dll入口点方法中,我需要初始化数据模块:

我还看到了一些关于在创建表单之前我需要如何调用 Application->Initialize 的信息,但这似乎没有任何区别。

有任何想法吗?

谢谢

0 投票
3 回答
885 浏览

delphi - 在 Datamodule 中处理数据集

我有一个 DataModule,我想在里面有很多(>50)个数据集。我计划通过函数和过程从该数据集中请求数据。

问题是,在 DataModule 中组织数据集的最佳方式是什么?

我看到三个选项:

  1. 每个数据集都有一个设计时组件。
  2. 所有数据集的一个通用设计时组件数据集。SQL 命令的文本和其他属性在相应的函数或过程中动态设置。
  3. 没有设计时组件。每个数据集在相应函数内的运行时创建,然后将数据返回给该函数并被销毁。

你怎么看,哪种方式最好?或者以上都没有?有没有其他方法可以有效地组织 DataModule 中的许多数据集?

0 投票
1 回答
211 浏览

database - TSQLConnection 数据库参数

我用 TSQLConnection 组件创建了一个数据模块。我通过“视觉模式”设置参数。但我不知道,如何指定我的 firebird 文件保存在我的 projectFolder/store/db.fdb 中的路径。项目路径,可能会在客户端计算机中更改。有任何想法吗 ?。