DLL 傳回 byte陣列問題 |
|
chenjeff622
一般會員 發表:3 回覆:2 積分:1 註冊:2005-02-07 發送簡訊給我 |
各位先進好!目前我們設計了一個DLL元件,這個元件內容會產生一個8byte的陣列,但是如何將這個值利用 export傳回呼叫的主程式呢?請各位大大幫忙..
dll 原型 extern "C" __declspec(dllexport)void EncRegValue(String Manufact, String SN, String& rValue, Byte* PublicKey) void EncRegValue(String Manufact, String SN, String& rValue, Byte* PublicKey) { TKey64 Key64; 產生8個1byte陣列 Byte test[sizeof(Key64)]; memcpy( test, Key64 ,sizeof(Key64)); 將產生的陣列複製到 test陣列 ,請問之後如何將值放入 PublicKey讓主程式讀取? return ; } 主程式 : extern "C" __declspec(dllimport)void EncRegValue(String Manufact, String SN, String& rValue, char* PublicKey); ////////////////////////////// { char *get_key; String get_Enc; EncRegValue(Edit3->Text,Edit4->Text,get_Enc,get_key); Edit6->Text= get_Enc; Edit7->Text= get_key; } ////////////////////////////// |
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
chenjeff622
一般會員 發表:3 回覆:2 積分:1 註冊:2005-02-07 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
你好,幫你把pwipwi的話補上例子。不過我沒試著run,純用腦子的改,也許有小bug,你再看看。
extern "C" __declspec(dllexport)void EncRegValue(String Manufact, String SN, String& rValue, Byte* PublicKey) void EncRegValue(String Manufact, String SN, String& rValue, Byte* PublicKey) { TKey64 Key64; //產生8個1byte陣列 memcpy( PublicKey, Key64 ,sizeof(Key64)); } 主程式 : extern "C" __declspec(dllimport)void EncRegValue(String Manufact, String SN, String& rValue, char* PublicKey); ////////////////////////////// { BYTE get_key[9] = {0}; //先幫要取回的值配9個bytes的空間,並初始化為0,為何不是8?是因為你等一下把它當字串 String get_Enc; EncRegValue(Edit3->Text,Edit4->Text,get_Enc,get_key); Edit6->Text= get_Enc; Edit7->Text= (char *) get_key; //轉一下型別 } //////////////////////////////
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
感謝aftcast大大的回覆,至於我說的第二個方法 //--------------------------------------------------- //主程式
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |