帮忙啊

解决方案 »

  1.   

    uses Windows;//使用Windows单元,因为该单元定义了调用windows api的方法,如loadLibrary()和getProcAddress()//定义你要调用的动态链接库的方法指针
    TShowCalendar=function(AHandle:THandle;ACaption:String):TDateTime;stdcall;//以下是调用的实现
    procedure TForm1.Button4Click(Sender: TObject);
    var
      showCalendar:TShowCalendar;//方法指针
      aHandle:THandle;//句柄
    begin
      //ShowCalendar(application.Handle,'This is an DLL modal form.');
      aHandle:=LoadLibrary('MDLLForm.dll');//加载动态链接库,获取链接库句柄
      if aHandle<>0 then
      begin
        @showCalendar:=getProcAddress(aHandle,'ShowCalendar');//利用句柄获取链接库的方法指针
        showCalendar(application.Handle,'This is an DLL modal form.');//调用该方法
      end;
    end;
      

  2.   

    DLL文件只能被可执行文件调用的啦!
      

  3.   

    jxspace(彼黍离离):
        调用是对了,不过好像少了释放库这一步:
    FreeLibrary(AHandle);
      

  4.   

    FreeLibrary(AHandle);减少一次引用
    否则,DLL还在内存,只有DLL的引用为0的时候才卸载DLL