■56199 |
Re[2]: fixedでstringからchar*を取得すると1文字に? |
□投稿者/ BBKids -(2011/01/04(Tue) 20:27:20)
| Azulean様
返信ありがとうございます。 ご指摘のように、string型をそのまま渡すことで、意図した通りに動きました。
DLL側のコード(関数の宣言)は、 extern "C" __declspec(dllexport) int createEmptyFile(char* path, char* data) のようになっておりまして、以下のURLなどを参考にしながら、string型からchar*への 何らかの変換が必要だと考えておりましたが、必要はなかったのですね。 http://msdn.microsoft.com/ja-jp/library/aa288474(VS.71).aspx
fixedの動作などキチンと理解が出来ておらず、私はまだ修行が足りてないようですが、 おかげさまで直面していた問題は解決しましたので、解決済みとさせていただきます。
ありがとうございました。
■No56198 (Azulean さん) に返信 > 2011/01/04(Tue) 20:00:35 編集(投稿者) > > 単純に以下のように書いたらだめなんでしょうか。 > > unsafe class Dll > { > [DllImport("hoge.dll")] > public static extern int createFile(string path, string data); > } > > public object foo(string bar, params string[] baz) > { > Dll.createFile(args[0], args[1]); > return "Success"; > } > |
|