zoukankan      html  css  js  c++  java
  • delphi动态调用dll

    unit Unit1;

    interface

    uses

      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

    type

      TForm1 = class(TForm)

        Edit1: TEdit;

        Label1: TLabel;

        Button1: TButton;

        procedure Button1Click(Sender: TObject);

      private

        { Private declarations }

      public

        { Public declarations }

      end;

      SendPatientInfo = procedure(sParam:ansistring); stdcall;//无回参用procedure,有回参用function,我也不知道为什么

    var

      Form1: TForm1;

    implementation

    {$R *.dfm}

    var

      FDLL130Handle: THandle;

      DLL130Name: string = 'D:demodelphiMetabolism.dll';

      bStop: boolean;

    procedure TForm1.Button1Click(Sender: TObject);

    var

      sendPInf:SendPatientInfo;

    begin

      FDLL130Handle := Loadlibrary(Pchar(DLL130Name));

      if FDLL130Handle = 0 then

      begin

        ShowMessage(DLL130Name+'不存在');

      Exit;

      end;

      @sendPInf := GetProcAddress(FDLL130Handle, 'SendPatientInfo');

      if @sendPInf = nil then

      begin

        ShowMessage('SendPatientInfo 函数无法获得!');

      end else

      begin

        sendPInf(pchar(Edit1.Text));

      end;

    end;

    end.

  • 相关阅读:
    CF1276F
    CF1082F
    CF1366G
    CF1221G
    CentOS7统计某个进程当前的线程数
    centos7备份系统日志
    mysql删除带外键约束的表的方法
    django.db.models.query.QuerySet格式的数据输出
    Linux命令大全
    django创建多对多表三种方法,和ORM操作增删改查
  • 原文地址:https://www.cnblogs.com/zhaisd/p/13516818.html
Copyright © 2011-2022 走看看