CallCppF.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:1k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit CallCppF;
  2. interface
  3. uses
  4.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  5.   Forms, Dialogs, StdCtrls, Spin, ExtCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     BtnDouble: TButton;
  9.     SpinEdit1: TSpinEdit;
  10.     Label1: TLabel;
  11.     BtnTriple: TButton;
  12.     Label2: TLabel;
  13.     SpinEdit2: TSpinEdit;
  14.     BtnAdd: TButton;
  15.     Label3: TLabel;
  16.     Edit1: TEdit;
  17.     Bevel1: TBevel;
  18.     procedure BtnDoubleClick(Sender: TObject);
  19.     procedure BtnTripleClick(Sender: TObject);
  20.     procedure BtnAddClick(Sender: TObject);
  21.   private
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.   end;
  26. var
  27.   Form1: TForm1;
  28. implementation
  29. {$R *.DFM}
  30. {definition of the functions of the DLL}
  31. function Add (A, B: Integer): Integer;
  32.   stdcall; external 'CPPDLL.DLL' name '@Add$qqsii';
  33. function Double (N: Integer): Integer;
  34.   stdcall; external 'CPPDLL.DLL' name 'Double';
  35. function Triple (N: Integer): Integer;
  36.   stdcall; external 'CPPDLL.DLL';
  37. procedure TForm1.BtnDoubleClick(Sender: TObject);
  38. begin
  39.   SpinEdit1.Value := Double (SpinEdit1.Value);
  40. end;
  41. procedure TForm1.BtnTripleClick(Sender: TObject);
  42. begin
  43.   SpinEdit2.Value := Triple (SpinEdit2.Value);
  44. end;
  45. procedure TForm1.BtnAddClick(Sender: TObject);
  46. begin
  47.   Edit1.Text := IntToStr (Add (
  48.     SpinEdit1.Value, SpinEdit2.Value));
  49. end;
  50. end.