[問題] C# 引用 C 開發的DLL檔宣告方式
大家好
最近在寫一些sample code
目前要在C#(VC2005)去引用在C(VC2005)環境下開發的DLL檔
首先要讀取一個名為Text.txt的檔案,正確回傳err =0, 錯誤回傳 非0 值
在C下的函數原型
I32 PostionData_F64(const wchar_t* FileName,U32* PosCount,POS_DATA * PosArray);
宣告:
I32 error = 0;
unsigned long cnt = 0; //cnt 為資料筆數
POS_DATA* PSdata;//資料結構
typedef struct _POS_DATA
{
U32 opt;
F64 A;
F64 B;
}
POS_DATA, *PPOS_DATA;
static const wchar_t filet[] = L"Text.txt";//此text.txt為要讀取之檔案名稱
然後程式開始
err = PostionData_F64( filei, &cnt, PSdata );
================= 以下為C#的宣告 ===========
[DllImport("ABCDE.dll")]
public static extern Int32 PosData_F64(string FileName,ref System.UInt32
cnt, ref POS_DATA PosArray);
static string filet = "Text.txt";
Int32 err = 1;
UInt32 cnt = 0;
POS_DATA PSdata = new POS_DATA();
程式開始
err = ADCNC2.PosData2_FileLoad_F64(filet, ref cnt, ref PSdata);
結果回傳錯誤代碼,從代碼可推測的確有call 到 DLL的function
但可能是檔案名稱不對或是路徑不對,確認過後應該不是路徑問題
會不會是從C的檔案名稱宣告
static const wchar_t filet[] = L"Text.txt";
轉成C#的語法
static string filet = "Text.txt";
這樣就不對了呢~~~
還請各位多多指教
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.59.165.169
※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1414490563.A.2BA.html
推
10/28 18:16, , 1F
10/28 18:16, 1F
→
10/28 18:16, , 2F
10/28 18:16, 2F
→
10/28 18:33, , 3F
10/28 18:33, 3F
→
10/28 18:43, , 4F
10/28 18:43, 4F
→
10/28 18:43, , 5F
10/28 18:43, 5F
→
10/28 18:43, , 6F
10/28 18:43, 6F
推
10/28 18:45, , 7F
10/28 18:45, 7F
推
10/28 18:47, , 8F
10/28 18:47, 8F
→
10/28 21:54, , 9F
10/28 21:54, 9F
→
10/29 08:57, , 10F
10/29 08:57, 10F
→
10/30 14:37, , 11F
10/30 14:37, 11F
→
10/30 14:37, , 12F
10/30 14:37, 12F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章