學習反射例子,呼叫DLL窗體及方法

2022-05-13 04:56:36 字數 868 閱讀 4441

建立類庫,並新增新窗體,加入以下方法

public

static

string settext(string

str)

編譯後把生成的dll檔案放入新專案的bin目錄,新專案需要using system.reflection視窗放入2個button,並新增實現

//

通過反射開啟dll窗體

private

void button1_click(object

sender, eventargs e)

//

通過反射呼叫dll中的方法

private

void button2_click(object

sender, eventargs e)

).tostring();

messagebox.show(str);

//縮寫

string returnstr =assembly.load(dllname)

.gettype(dllclassname)

.invokemember(

"settext

", bindingflags.invokemethod | bindingflags.public |bindingflags.static

, null

, null

, new

object //傳入

方法引數

) .tostring();

messagebox.show(returnstr);

}

呼叫DLL中的窗體

1 dll原始碼 library projectdll uses windows,messages,sysutils,classes,graphics,controls,forms,dialogs,unitdll in unitdll.pas dll中的窗體 exports provachild i...

delphi動態呼叫dll窗體

宣告 tshowform function ahandle thandle acaption pchar boolean stdcall 呼叫 procedure tform1.n5click sender tobject var mainfrm,dllform thandle showform t...

ORACLE呼叫DLL的例子

注 以下程式在delphi7 oracle9i中測試通過 1 首先用delphi編制乙個dll程式,當然用vb,vc其它語言也可以,本人最近常用delphi,所以以下dll採用delphi程式編制 project1.dpr工程檔案 library project1 uses sysutils,cla...