2012-03-13 115 views
2

我想知道是否可以在Delphi中從另一個Delphi DLL中調用我的DLL中的函數。在dll delphi中調用函數

例如:

我A.DLL是這樣的:

library circle; 

uses 
    SysUtils, Classes, Math; 

{$R *.res} 

function CircleArea(const radius : double) : double; stdcall; 
begin 

end; 

exports CircleArea; 

begin 
end. 

B.DLL是一個黑盒子,我只能訪問一個功能:

function calculdiameter(const radius : double) : double; stdcall; 

如何訪問calculdiameter from b.dll將類型double修改爲decimal?

+1

你想做什麼?調用DLL中的函數,或將參數從Double更改爲Decimal?你的問題不清楚。另外,請你可以修復格式。目前它是無法讀取的。請使用大寫字母,適當的標點符號,拼寫等。 – 2012-03-13 18:47:28

回答

5

歡迎您從另一個DLL調用DLL函數。簡單地聲明函數:

function calculdiameter(const radius : double) : double; stdcall; external 'b.dll'; 

然後調用它:

function CircleArea(const radius : double) : double; stdcall; 
begin 
    // I don't know why you'd call this function here, but you can if you want to. 
    Calculdiameter(radius); 
    Result := Pi * radius * radius; 
end; 

不能做些什麼,雖然是變化 DLL的內容。如你所說,B.DLL是一個黑匣子。你可以調用它導出的函數,但如果它導出的不是你想要的,那麼你需要找到你想要的東西。