C++ Builder 带VCL 的DLL

c++ 专栏收录该内容
2 篇文章 0 订阅
  1. 建立DLL工程
  2. 编写DLL 文件的出口函数
  3. 带VCL的程序与普通程序不同之处为在调用函数进行FORM 定义,否则会出现,“Access Vio…”内存溢出报错。
    操作 参考:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Creating_DLLs_Containing_VCL_Components_(C%2B%2B)
    4.编写调用程序入口函数:
#include <vcl.h>

#include <windows.h>
#include "TS.h"
#include "data.h"

#pragma hdrstop
//---------------------------------------------------------------------------
//   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 performing 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
//---------------------------------------------------------------------------
extern "C" __declspec(dllexport)  __stdcall int Ts(float *pTS,int a, int *pData,ShortString *MatType,int *TypeCount)  ;


#pragma argsused
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
    return 1;
}

 __declspec(dllexport)   __stdcall  int Ts(float *pTS,int a, int *pData,ShortString *MatType,int *TypeCount) //导出函数
{
}

//以下是调用程序  


#include <vcl.h>
#pragma hdrstop

#include "DB.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
extern "C" __declspec(dllimport)  __stdcall int  Ts(float *pTS,int a, int *pData,ShortString *MatType,int *TypeCount);



  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

实例很丰富详细,初学必备 \EXAMPLES ├─ADO │ ├─BRIEFCASE │ └─SHAPE ├─APPEVENTS ├─APPS │ ├─AUTOCON │ ├─AUTOSRV │ ├─CANVAS │ ├─COLORDLG │ ├─CURSORS │ ├─DOODLE │ ├─FINDREP │ ├─HEADER │ ├─IMAGEVIEW │ ├─IPCDEMOS │ ├─MINICOMP │ ├─MULTIPAG │ ├─OWNERLIST │ ├─PRINTING │ ├─PROCVIEW │ ├─RICHEDIT │ │ ├─DEU │ │ ├─ENU │ │ └─FRA │ ├─SCROLLBAR │ ├─SWITCH │ ├─SYSSOUND │ ├─TAB │ ├─THREADS │ ├─TRAYICON │ ├─TWOFORMS │ └─WPM ├─CODEGUARD ├─CONTROLS │ ├─SINGLEINST │ ├─SOURCE │ ├─TRAYDEMO │ └─VERSIONINFO ├─CONVERTIT ├─CORBA │ ├─ATM │ └─CORBAMIDAS ├─CUSTOMDRAW ├─DBTASKS │ ├─BKQUERY │ ├─CACHEDUP │ ├─CONTACTS │ ├─CSDEMOS │ ├─CTRLGRID │ ├─DBERRORS │ ├─FILTER │ ├─FIND │ ├─FISHFACT │ ├─GDS │ ├─GDSDEMO │ ├─IBDEMO │ ├─LOOKUP │ ├─MASTAPP │ ├─MTSPOOL │ ├─NAVMDI │ ├─NAVSDI │ ├─NDXBUILD │ ├─OBJREPOS │ ├─QBFDEMO │ ├─QJOIN │ ├─QUICKRPT │ └─TEXTDATA ├─DDRAW │ ├─DDRAW1A │ ├─DDRAW1B │ ├─DDRAW1C │ ├─DDRAW2 │ ├─DDRAW3 │ ├─DDRAWCP │ └─UTILS ├─DOC │ ├─AUTOPROJ │ ├─CBROWSE │ ├─DIROUTLN │ ├─FILMANEX │ ├─GRAPHEX │ ├─OLECTNRS │ ├─OLEWORD1 │ ├─OLEWORD2 │ ├─TEXTEDIT │ ├─VARARRAY │ ├─VARLOCK │ └─VARTOINT ├─DOCKING ├─EXPERTS ├─FASTNET │ ├─DAYTIME │ ├─ECHO │ ├─FINGER │ ├─FTP │ ├─HTTP │ ├─MSGDEMO │ ├─NNTP │ ├─POP3 │ ├─SMTP │ ├─STREAM │ ├─TIME │ └─URL ├─GAMES │ ├─EARTHPNG │ ├─FOOTBALL │ └─SWAT ├─ICONS ├─INDY │ ├─BASICCLIENTSERVER │ ├─ECHOCLIENT │ ├─ECHOSERVER │ ├─FINGERCLIENT │ ├─PARSEURI │ ├─PINGGUI │ ├─PROXY │ ├─QOTDCLIENT │ ├─SIMPLESERVER │ ├─SSLTUNNEL │ ├─TELNETCLIENT │ ├─TIMECLIENT │ ├─TIMESERVER │ ├─TRIVIALFTPCLIENT │ ├─TUNNEL │ ├─WHOISGUI │ └─ZIPCODELOOKUP ├─INTERNET │ ├─APACHEDSO │ │ └─HELLO │ └─CHAT ├─MFC │ ├─ADVANCED │ │ ├─CHATSRVR │ │ │ └─RES │ │ ├─CHATTER │ │ │ └─RES │ │ ├─CHKBOOK │ │ │ └─RES │ │ ├─COLLECT │ │ │ ├─L.JPN │ │ │ │ └─RES │ │ │ └─RES │ │ ├─CUBE │ │ │ └─RES │ │ ├─FIRE │ │ │ └─RES │ │ ├─MTGDI │ │ │ └─RES │ │ ├─MTMDI │ │ │ └─JPN │ │ ├─MTRECALC │ │ │ └─RES │ │ ├─MUTEXES │ │ │ └─RES │ │ ├─OLDBARS │ │ │ └─RES │ │ └─SPEAKN │ │ ├─JPN │ │ └─RES │ ├─CONTROLS │ │ ├─BUTTON │ │ └─CIRC1 │ ├─GENERAL │ │ └─CMNCTRLS │ │ └─RES │ ├─OLE │ │ ├─SUPERPAD │ │ │ ├─JPN │ │ │ └─RES │ │ └─WORDPAD │ │ └─RES │ └─UTILITY │ ├─BATCH │ └─GUIDEGEN │ └─RES ├─MIDAS │ ├─ACTIVEFM │ ├─ADHOC │ ├─BRIEFCASE │ ├─EMPEDIT │ ├─INTERNETEXPRESS │ │ ├─CUSTOMERLIST │ │ ├─INETXCUSTOM │ │ └─TROUBLESHOOT │ ├─MSTRDTL │ └─SETPARAM ├─OPENGL │ ├─DRAWING │ └─ROTATE ├─PWORDDEMO ├─SHELLCONTROLS │ └─SHELLCONTROLDEMO ├─STDLIB ├─TEECHART ├─TOOLSAPI │ ├─ACTIONSERVICES │ ├─FILTERS │ │ └─PREPROCESSOR │ ├─INTASERVICES │ ├─KEYBINDINGS │ └─PACKAGEDEMO ├─VIRTUALLISTVIEW ├─WEBSERV ├─WEBSERVICES │ ├─ECHOSERVICE │ │ ├─CLIENT │ │ └─SERVER │ ├─POSTSOAP │ └─SOAPDATAMODULE │ ├─CLIENT │ └─SERVER ├─WEBSNAP │ ├─BIOLIFE │ ├─COUNTRYEDITOR │ ├─COUNTRYREPORT │ ├─DUMPMODULES │ ├─IMAGES │ ├─INCLUDE │ ├─LOCATEFILESERVICE │ ├─MASTERDETAIL │ ├─PHOTOGALLERY │ └─STREAMIMAGE └─WINTOOLS
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏作者

swanwei

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值