各位大大来帮帮忙啊。受不鸟了。dll这么难吗。
我做个一个dll文件功能是
VImportExcel.dll
1.bool CreateAndOpenExcel(AnsiString FieldName)
功能: 生成操作EXCEL对象,并打开EXCEL文件(后台打开,不显示)
若传入的FieldName为空,则显示[打开文件]之对话框,让用户选择文件并打印
2.AnsiString __export GetValue(unsigned Row, unsigned Col)
功能:读取Row 行Col列的数据并返回
3.void CloseAndDeleteExcel()
功能:调用结束,关闭EXCEL对象并清理内存
当我试用这个dll时,运行成功,也读出了×行×列的值,可是我结束程序时报错,如上图,真心上不起。
#pragma package(smart_init)
#pragma resource "*.dfm"
extern "C" __declspec(dllexport) __stdcall bool CreateAndOpenExcel(Variant&,AnsiString);
extern "C" __declspec(dllexport) __stdcall AnsiString GetValue(Variant&,unsigned, unsigned);
extern "C" __declspec(dllexport) __stdcall void CloseAndDeleteExcel(Variant&);
TForm1 *Form1;
//---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------
void __fastcall TForm1::btn1Click(TObject *Sender)
{
Variant ex;
CreateAndOpenExcel(ex,"c:\\test\\1.xls");
AnsiString s=GetValue(ex,1,1);
ShowMessage(s);
CloseAndDeleteExcel(ex);
}