我也希望有解决的办法,但我估计这种方法存在的可能性不大

解决方案 »

  1.   

    显式例子:
    procedure TForm1.Button1Click(Sender: TObject);
    var D: Double;
        DLLHandle: THandle;
        Func: TGetDouble;
    begin
      Image1.Picture.Assign(Table1Graphic);
      Table1Graphic.Assign(Image1.Picture);
      Exit;
      DLLHandle := LoadLibrary('DLLOne.dll');
      try
      @Func := GetProcAddress(DLLHandle, 'GetDouble');  //Edit1.Text := IntToStr(GetInteger(2));
      //D := GetDouble(2.2);
      if Assigned(@Func) then
      begin
        D := Func(2.2);
        Edit2.Text := FloatToStr(D);
      end;  finally
      FreeLibrary(DLLHandle);
      end;
    end;end.隐式例子:library DLLOne;uses
      SysUtils,
      Classes;{$R *.res}  function GetDoubleExt(F:Double): Double;stdcall;external 'DLLTwo.dll';
      function GetInt(I:Integer): Integer;stdcall;external 'DLLTwo.dll';  function GetInteger(I:Integer): Integer;stdcall;
      begin
        Result := GetInt(I);
      end;  function GetDouble(D:Double): Double;stdcall;
      begin
        Result := GetDoubleExt(D);
      end;exports
      GetInteger,
      GetDouble;begin
    end.