我创建了一个客户的数据库程序。我有一个问题,我在DLL中创建一个数据模块,我编译它,但后面得到一些错误。
我的概念是
在DLL中创建的数据模块,我在数据模块中插入ADO组件。 该数据模块以另一种形式使用。我在表单中创建了一个db网格,但它没有 显示数据库网格中的记录。我编译它但在下面得到一个错误。
我非常感谢解决我的问题...... 我的英语不好,但你试着理解........
答案 0 :(得分:1)
TDataModule就像一个表单,但它的目的是成为一种容器形式,对最终用户是不可见的。虽然你可以在DLL中创建一个TDataModule,但它并不是那样的。 TDataModules是为了简化您与整个应用程序的交互。不要复杂化!!
恕我直言,不要在dll中创建DataModule。
根据您的描述,我认为您需要一个与用户交互的应用程序分开的中央数据存储区模块。可能有多个用户。如果是这种情况尝试客户端 - 服务器方法。
答案 1 :(得分:0)
据我所知,GUI应用程序无法直接在DLL中使用数据集组件。
你可能有更好的锁使用包,这是更友好的Delphi对象。我没试过,所以我不能给出太多建议。
或者您可以让您的DLL传回数据集,您将数据集放入GUI应用程序中的TClientDataset。
答案 2 :(得分:0)
dll使用和包之间的主要区别是共享内存模型。
您可以简单地将dbconnection放入包中。另一个数据模块。最重要的是你可以装载&在方便时卸下它们。然后您可以按单位使用访问这些元素。