想透過VB呼叫BCB寫的DLL並傳遞字串一問 |
尚未結案
|
achigo
一般會員 發表:6 回覆:15 積分:4 註冊:2005-05-28 發送簡訊給我 |
我想透過VB呼叫BCB寫的DLL並傳遞字串時發生資料不正確的問題
(VB的執行檔已經與DLL檔同目錄)
程式目的:想從VB傳入三個字串,並處理後回傳
BCB Code
/*****************************************************************/ //test.h typedef void(__stdcall *ADDSTRING)(char *_a, char *_b, char *_c); DLL_EXPORT void __stdcall AddString(char *_a, char *_b, char *_c); //test.cpp DLL_EXPORT char* __stdcall AddString(char *_a, char *_b, char *c) { char *temp; temp = _a _b _c; return temp; } /*****************************************************************/VB Code '***************************************************************** 'DLL 宣告 Declare Function Adds Lib "Achigo.dll" Alias _ "AddString" (ByVal a As String, ByVal b As String, ByVal c As String) 'VB 主程式 Private Sub Command1_Click() Dim A As String Dim B As String Dim C As String A = "Hello" B = "World" C = "This is my first." Call Adds(A, B, C) End Sub '*****************************************************************專注完美近乎苛求~~
------
專注完美近乎苛求~~ |
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
achigo
一般會員 發表:6 回覆:15 積分:4 註冊:2005-05-28 發送簡訊給我 |
|
chihming
一般會員 發表:0 回覆:1 積分:0 註冊:2003-07-01 發送簡訊給我 |
|
achigo
一般會員 發表:6 回覆:15 積分:4 註冊:2005-05-28 發送簡訊給我 |
引言: BSTR => 使用 wchar_t * wchar_t *pMsgBuff; int len; String Str; Str="Your String"; len=Str.Length(); pMsgBuff=(wchar_t *)malloc(len*2 10); StringToWideChar(Str,pMsgBuff,len*2 10); 然後將 pMsgBuff 當成 BSTR 使用chihming大大感謝您的提供指導,不過可否請問一下 pMsgBuff=(wchar_t *)malloc(len*2 10)這裡為什麼要 10呢? 搞不懂! 專注完美近乎苛求~~
------
專注完美近乎苛求~~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |