⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.cpp

📁 有视频
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int __stdcall (*mycalc)(int,int);
int __stdcall (*myfunc)(int,int);
void __stdcall (*myte)(void);
HINSTANCE hComm;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  hComm=LoadLibrary("MyDll.dll");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int nn;
  FARPROC lpFarProc;
  if(hComm!=NULL)
  {
//
    lpFarProc = GetProcAddress(hComm,"myfunc");
    if(lpFarProc==NULL)
      ShowMessage("myfunc Error");
    else
    {
      myfunc = (int __stdcall (__cdecl*)(int, int))lpFarProc; //指针类型转换
      nn=myfunc(12,10);
      Edit1->Text=IntToStr(nn);
    }

    lpFarProc = GetProcAddress(hComm,"mycalc");
    if(lpFarProc==NULL)
      ShowMessage("mycalc Error");
    else
    {
      mycalc = (int __stdcall (__cdecl*)(int, int))lpFarProc; //指针类型转换
      nn=mycalc(12,10);
      Edit2->Text=IntToStr(nn);
    }
//
    lpFarProc = GetProcAddress(hComm,"myte");
    if(lpFarProc==NULL)
      ShowMessage("FarProc Error");
    else
    {
      myte = (void __stdcall (__cdecl*)(void))lpFarProc; //指针类型转换
      myte();
    }
  }
  else
    ShowMessage("lib Error");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
  FreeLibrary(hComm);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -