2

我想创建一个 dll 来从文件中导入数据(不同的格式,例如 csv、txt、xls、...)。我的想法是这样的:dll 使用她的“引擎”加载数据,然后将此数据发送到我的应用程序,以便我的应用程序可以在网格内显示它们。

这是我的第二个 DLL,所以我有一些问题/疑问。

我认为我的 DLL 应该将数据发送到我的应用程序上的 TDataset,但是我如何调用带有 TDataset 作为参数的 DLL?

有什么建议么?实现我的想法的最简单方法是什么?(如果可能的话)

4

2 回答 2

3

如果您是这些 DLL 的创建者,请考虑使用包而不是 DLL。这将避免出现重复的 Delphi RTTI、普通 DLL API 等问题。然后,您需要在包之间正确拆分类,静态或动态加载包,获取对实现导入引擎的类的引用,并使用数据集引用作为参数值调用相应的方法。

于 2011-09-22T08:03:53.530 回答
0

更简单的方法是将数据直接存储到 DLL 中的数据库中。导入后,您只需刷新 TDataset。

顺便说一句,您不会“调用 DLL”,而是调用一些在 DLL 中公开的方法,并且可以像在普通方法中一样使用参数。

编辑:对于不需要数据组件的更通用的 DLL,只需在结构中发送数据

 TMyData
 { int ID;
   String Value;
 };

int MyDataImport(TMyData & data)
{
...
}
于 2011-09-22T07:27:41.537 回答