TeDll.cpp
上传用户:lhxd_sz
上传日期:2014-10-02
资源大小:38814k
文件大小:3k
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- extern "C" __declspec(dllexport) __stdcall int mycalc(int,int);
- extern "C" __declspec(dllexport) __stdcall void myte(void);
- extern "C" __declspec(dllexport) __stdcall int myfunc(int,int);
- int add(int n1,int n2);
- //---------------------------------------------------------------------------
- // Important note about DLL memory management when your DLL uses the
- // static version of the RunTime Library:
- //
- // If your DLL exports any functions that pass String objects (or structs/
- // classes containing nested Strings) as parameter or function results,
- // you will need to add the library MEMMGR.LIB to both the DLL project and
- // any other projects that use the DLL. You will also need to use MEMMGR.LIB
- // if any other projects which use the DLL will be perfomring new or delete
- // operations on any non-TObject-derived classes which are exported from the
- // DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
- // EXE's to use the BORLNDMM.DLL as their memory manager. In these cases,
- // the file BORLNDMM.DLL should be deployed along with your DLL.
- //
- // To avoid using BORLNDMM.DLL, pass string information using "char *" or
- // ShortString parameters.
- //
- // If your DLL uses the dynamic version of the RTL, you do not need to
- // explicitly add MEMMGR.LIB as this will be done implicitly for you
- //---------------------------------------------------------------------------
- int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
- {
- switch(reason)
- {
- case DLL_PROCESS_ATTACH:
- ShowMessage("DLL_PROCESS_ATTACH");
- break;
- case DLL_THREAD_ATTACH:
- ShowMessage("DLL_THREAD_ATTACH");
- break;
- case DLL_THREAD_DETACH:
- ShowMessage("DLL_THREAD_DETACH");
- break;
- case DLL_PROCESS_DETACH:
- ShowMessage("DLL_PROCESS_DETACH");
- break;
- default:
- break;
- }
- return 1;
- }
- //---------------------------------------------------------------------------
- __declspec(dllexport) __stdcall void myte(void)
- {
- ShowMessage("OK this is DLL");
- }
- //---------------------------------------------------------------------------
- __declspec(dllexport) __stdcall int myfunc(int n1,int n2)
- {
- int aa;
- aa=add(n1,n2);
- return aa;
- }
- //---------------------------------------------------------------------------
- __declspec(dllexport) __stdcall int mycalc(int n1,int n2)
- {
- return n1*n2;
- }
- //---------------------------------------------------------------------------
- int add(int n1,int n2)
- {
- return n1+n2;
- }
- //---------------------------------------------------------------------------