看板 C_Sharp 關於我們 聯絡資訊
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)