zhsq_java 发表于 2013-1-26 14:29:08

C++写DLL,delphi调用

VS2008中创建DLL工程

      文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以)

      填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成。

      到这里DLL工程就创建完毕了,下面新建两个文件testDLL.cpp和testDLL.h。



C++ .h 文件

#define DLL_EXPORT __declspec(dllexport) extern "C" DLL_EXPORT int MyMinus(int a,int b);


.cpp 文件
// testDLL.cpp : 定义 DLL 应用程序的导出函数。//#include "stdafx.h"#include "testDLL.h"int MyMinus(int a,int b){ return (a-b);}


delphi调用代码
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)    edt1: TEdit;    edt2: TEdit;    lbl1: TLabel;    lbl2: TLabel;    lbl3: TLabel;    btn1: TButton;    lbl4: TLabel;    procedure btn1Click(Sender: TObject);private    { Private declarations }public    { Public declarations }end;varForm1: TForm1;constTestDll = 'testDLL.dll';function MyMinus(a:Integer;b:Integer):Integer;cdecl;external TestDll;implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);beginlbl4.Caption := IntToStr(MyMinus(StrToInt(edt1.Text),StrToInt(edt2.Text)));end;end.
页: [1]
查看完整版本: C++写DLL,delphi调用