線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1772
推到 Plurk!
推到 Facebook!

動態函式庫的回傳值

答題得分者是:syntax
sea112001
一般會員


發表:4
回覆:6
積分:2
註冊:2007-10-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-11 13:58:39 IP:163.18.xxx.xxx 訂閱
各位前輩們好:
想請問用C Builder寫動態函式庫(DLL)的問題,寫DLL最後所return的值可以有兩個以上的回傳值嗎?
因為我所發展的程式需要有兩個以上的回傳值,還請各位前輩指導一下,感激不盡。
我寫的測試程式及所回傳的值如下,紅色框起來的語法我不確定對不對。

主程式:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
float m=3.5;
float n=6.5;
float a,b;
a,b=Test(m,n);
Edit1->Text=a;
Edit2->Text=b;

DLL的程式:

float _declspec(dllexport) _stdcall Test(float m,float n)
{
m=m 2;
n=n 2;
return m,n;
}

回傳值:
a=1.83670992315982E-39
b=8.5
------
阿秤
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-12 09:36:45 IP:61.64.xxx.xxx 訂閱
你有沒有在看書啊!有的話連書中最簡單的規定,怎麼會不知道?

傳回值只能有一個

想要多重回傳,請用結構或陣列處理

有在看書,這樣回答你就會知道,不然請先去看書吧!要將書中東西重複一次,很累人,我也不是書

===================引 用 sea112001 文 章===================
各位前輩們好:
想請問用C Builder寫動態函式庫(DLL)的問題,寫DLL最後所return的值可以有兩個以上的回傳值嗎?
因為我所發展的程式需要有兩個以上的回傳值,還請各位前輩指導一下,感激不盡。
我寫的測試程式及所回傳的值如下,紅色框起來的語法我不確定對不對。

主程式:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
float m=3.5;
float n=6.5;
float a,b;
a,b=Test(m,n);
Edit1->Text=a;
Edit2->Text=b;

DLL的程式:

float _declspec(dllexport) _stdcall Test(float m,float n)
{
m=m 2;
n=n 2;
return m,n;
}

回傳值:
a=1.83670992315982E-39
b=8.5
sea112001
一般會員


發表:4
回覆:6
積分:2
註冊:2007-10-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-12 14:06:05 IP:163.18.xxx.xxx 訂閱
前輩謝謝你我知道了,感激不盡~
------
阿秤
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-13 00:38:34 IP:61.62.xxx.xxx 訂閱
您好:
一般如果需要回傳兩個值以上,建議還是用傳指標的方式來達成。
詳細的作法可以把指標當成傳回值,或者是把已配罝好空間的指標傳給dll檔。

如果你要傳回的資料不超過32bit,也可以一次用unsigned int回傳,再用bit opertion來處理即可。
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-13 14:59:15 IP:61.64.xxx.xxx 訂閱
恩,要多看書,不管是紙本的,還是電子的,多看,就會成長
網路上的文章,也要多看,只是網路上的,有時是騙人的幌子
===================引 用 sea112001 文 章===================
前輩謝謝你我知道了,感激不盡~
系統時間:2024-04-25 6:45:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!