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

📄 clientmain.cpp

📁 C++Builder高级应用开发指南随书源码
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "ClientMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmMain *frmMain;
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnStaticClick(TObject *Sender)
{
#include "DllFunc.h"

    ShowAbout();    
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnDynamicClick(TObject *Sender)
{
    HINSTANCE ins;
    ins = LoadLibrary("Dll.dll");
    if(ins == NULL)
        throw "Can't Load Library!";

    FARPROC proc;
    proc = GetProcAddress(ins,"_AnotherAbout");
    if(proc == NULL)
    {
        FreeLibrary(ins);
        throw "Can't Get Proc Address!";
    }
    proc();

    if(!FreeLibrary(ins))
    {
        throw "Can't Free!";
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::btnParaClick(TObject *Sender)
{
    HINSTANCE ins;
    ins = LoadLibrary("Dll.dll");
    if(ins == NULL)
        throw "Can't Load Library!";

    FARPROC proc;
    proc = GetProcAddress(ins,"_ParaAbout");
    if(proc == NULL)
    {
        FreeLibrary(ins);
        throw "Can't Get Proc Address!";
    }
    typedef void (* FUNC)(char *, char *);
    FUNC aFunc=(FUNC)proc;
    aFunc("C++ builder","Hello, World!");

    if(!FreeLibrary(ins))
    {
        throw "Can't Free!";
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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