procedure TForm1.Button1Click(Sender: TObject);
type
 TDlldemo=function(x1,x2:integer):integer;stdcall;
var
myHandle:THandle;
FPointer:pointer;
MyFunc:TDlldemo;
begin
myHandle:=loadlibrary('Dlldemo.dll');
if myhandle>0 then
 try
 FPointer:=Getprocaddress(myHandle,pchar('AddIt'));
 if Fpointer<>null then
  begin
  myfunc:=TDlldemo(FPointer);
  edit1.Text:=inttostr(myfunc(5,3));
  end  finally
 Freelibrary(myHandle);
end;
end;end.

解决方案 »

  1.   

    看不出问题,你静态加载试试,是不是dll有问题
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject); 
    type 
      TDlldemo = function(x1,x2:integer):integer;stdcall; 
    var 
      myHandle :THandle; 
      MyFunc :TDlldemo; 
    begin 
      myHandle := loadlibrary('Dlldemo.dll'); 
      if myhandle <>0 then 
      try 
        MyFunc := Getprocaddress(myHandle,'AddIt'); 
        if Assigned(@MyFunc) then 
        begin 
         edit1.Text := inttostr(myfunc(5,3)); 
        end; 
      finally 
        Freelibrary(myHandle); 
      end; 
    end; end.