来源:www.cncfan.com | 2006-1-16 | (有3573人读过)
关键词:DLL 要调用DLL函数,需要知道确切的语法,然后设置一个函数类型。比如,在下例中,调用MyTest.DLL里面的CallMe函数。此函数接受两个整数作为参数,返回一个字符串。
procedure TForm1.Button1Click(Sender: TObject); type TCallMeDll = function(a,b: Integer): string; var CallMeDll: TCallMeDll; FuncPtr: TFarProc; hDll: THandle; result: string; begin hDll:=LoadLibrary('Mytestdll.dll'); FuncPtr:=GetProcAddress(hDLL,'CallMe'); @CallMeDll:=FuncPtr; if @CallMeDll <> nil then result:=CallMeDll(4,5); FuncPtr:=nil; FreeLibrary(hDll);end;
注意,首先要把DLL装载到内存。然后获得指向函数的指针,并将其指派给CallMeDLL。检查ProcAddress是否为Nil,如果是,则对GetProcAddress的调用会失败。
|