C++Builder中使用DLL中的函数,并得到DLL中的错误信息

一.将如何使用DLL。

1.首先用C++Builder建立一个DLL工程,代码如下:

extern "C" __declspec(dllexport) int __stdcall MainShow(AnsiString mess); //上面一行必须声明,表示将输出MainShow函数,这样在其它工程中才能使用它。一般C/C++中都是用__stdcall的输入方式。 //--------------------------------------------------------------------------- #pragma argsused int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved) { return 1; } //--------------------------------------------------------------------------- //这里定义你的函数 int __stdcall MainShow(AnsiString mess) { ShowMessage(mess); return 0; }

2.然后建立另外一个工程使用上面的DLL中的函数MainShow。代码如下:

 

#include <vcl.h> #pragma hdrstop #include "testUnit.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; typedef int (FUNC)(AnsiString mess); extern "C" __declspec(dllimport) int __stdcall myshow(AnsiString mess); //关键就是要声明函数,函数格式必须与DLL中的相同,并且应该写dllimport输入函数。 //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //myshow("ddddddd"); MainShow("ssssssss");//此处调用即可。 }

二、得到DLL中的函数错误信息

1.可以直接在DLL中写一函数GetLastError()来得到DLL中其它函数的错误信息,然后把GetLastError()函数输出。

2.在工程中调用上面的函数即可。

哈哈,是不是很简单。

你可能感兴趣的:(c,dll,button,C++Builder,winapi)