unit unit1;inte***ce
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, stdctrls;
type
//晚繫結,也就是動態呼叫外部函式主要用以下三個命令:
//loadlibrary:獲取 dll
//getprocaddress:獲取函式
//freelibrary:釋放
//定義乙個過程型別,引數要和需要的函式一致
tmb = function(hwnd: hwnd; lptext, lpcaption: pchar; utype: uint): integer; stdcall;
tform1 = class(tform)
button1: tbutton;
procedure button1click(sender: tobject);
procedure formcreate(sender: tobject);
procedure formdestroy(sender: tobject);
private
mb: tmb;
inst: longword;
public
end;
var form1: tform1;
implementation
procedure tform1.formcreate(sender: tobject);
begin
inst := loadlibrary('user32.dll');
if inst <> 0 then
mb := getprocaddress(inst, 'messageboxw');
// mb := getprocaddress(inst, 'messageboxa');
end;
//呼叫測試:
procedure tform1.button1click(sender: tobject);
var t,b: pchar;
begin
t := '標題';
b := '內容';
mb(0, b, t, 0);
end;
procedure tform1.formdestroy(sender: tobject);
begin
freelibrary(inst);
end;
end.
呼叫外部 DLL 中的函式
早繫結 unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls type tform1 class tform button1 tbutto...
c 中虛函式與功能晚繫結
再說這個問題之前,我們先來看個程式 include using namespace std class bird class bigbird public bird class smallbird public bird 編譯時就已經將diaoyongshow 中p與bird類的show 繫結到一起...
如何呼叫 DLL 中的函式
如何呼叫dll中的函式 在dll工程中的 cpp中函式定義如下 extern c declspec dllexport int add int a,char b 一 顯示鏈結 呼叫的dll的主工程的 main檔案中 如下 include include include intmain 呼叫的dll的...