我想创建一个dll来从文件导入数据(不同的格式,例如csv,txt,xls,...)。我的想法是:dll用她的“引擎”加载数据,然后将这些数据发送到我的应用程序,这样我的应用程序就可以在网格中显示它们。
这是我的第二个DLL,所以我有一些问题/问题。
我认为我的DLL应该将数据发送到我的应用程序上的TDataset但是如何调用带有TDataset作为参数的DLL呢?
有什么建议吗? 完成我想到的最简单的方法是什么? (如果可能的话)
答案 0 :(得分:3)
如果您是这些DLL的创建者,那么请考虑使用包而不是DLL。这将避免问题,如dublicate Delphi RTTI,普通的DLL API。然后,您需要在包之间正确拆分类,静态或动态加载包,获取对实现导入引擎的类的引用,并使用数据集引用作为参数值调用相应的方法。
答案 1 :(得分:0)
更简单的方法是将数据直接存储到DLL中的数据库中。导入后,您只需刷新TDataset。
顺便说一下,你没有“调用DLL”,你调用了一些在DLL中公开的方法,你可以像普通方法一样使用参数。编辑:对于不需要数据组件的更通用的DLL,只需在struct
中发送数据 TMyData
{ int ID;
String Value;
};
int MyDataImport(TMyData & data)
{
...
}