1.
我不清楚你原文的CommRead函式是什麼用途,
更不清楚它到底需要的參數是什麼,
且也不清楚原C++原始碼的AnsiString是哪邊定義的,
所以也只能就你說的Func和Data, 就假設它們為char array
2.
假設你已經有了Func和Data兩個char array,
而你想讓使用到CommRead函式的這個部份編譯通過,
那麼嘗試以下做法或許能夠編譯通過(不保證程式能運作正常):
unsafe
{
fixed (char* ptr1 = Func)
{
fixed (char* ptr2 = Data)
{
int i = 1;
if( CommRead( 0, &i, ptr1, ptr2 ) != 0 )
{
...
}
}
}
}
P.S.
請在你的Build Options設定中, 將Allow unsafe code打勾,
或是在Compile時加上 /unsafe
3.
因為沒有更多的資訊, 也不曉得你從哪邊參考的C++原始碼要移植成C#版
但如果能夠知道CommRead在做些什麼,
而又不想花太多時間在解決你所遭遇的問題時,
強烈建議你重新寫一個C#版的CommRead函式搞不好還比較快
(你是個Programmer的話,寫個函式替換不花太多時間吧?!)
以上建議給予參考
--
對於已經無法擁有的
唯一能做的是
不要忘記
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.230.128.38
※ 編輯: petrushka 來自: 125.230.128.38 (09/05 16:11)
※ 編輯: petrushka 來自: 125.230.128.38 (09/05 16:14)