DOBON.NETプログラミング道掲示板

■34237 / 親記事)  VC++ → VB.Netに変換時に文法エラー
  
□投稿者/ ぴょん 一般人(5回)-(2019/04/24(Wed) 18:48:25)
  • アイコン環境/言語:[VB.NET、VC++] 
    分類:[.NET] 

    初歩的な質問なのですが、
    VC++ → VB.Netにコンバートツールで
    変換する作業を行っています。

    以下、VC++のソースを自動的に変換しました。
    「unsigned char pTest[10];」

    「Dim pTest As Byte() = New Byte(9) {}」

    VB.Net側では文法エラーになる為、
    「Dim pTest As Byte = Byte()」に修正してエラーを無くしたのですが、
    変更前後で値の確認をした際に、
    C++側は文字列が入っており、VB側は数値が入っているという
    差異が生まれました。
    (※pTestは、ソース非公開のDLLを呼び出す際の引数として使用しており、
    解析する事に行き詰っています)

    VB.Net側をどのように変更すればよいか、ご教示願います。









マルチポストを報告
違反を報告
引用返信 削除キー/
■34238 / ResNo.1)  Re[1]: VC++ → VB.Netに変換時に文法エラー
□投稿者/ Hongliang 大御所(560回)-(2019/04/24(Wed) 20:30:58)
  • アイコン多分、データそのものは同じで、単にデバッガでの見え方が違うだけでしょう。
    その時点では差異に拘る必要は無いように思います。
違反を報告
引用返信 削除キー/
■34239 / ResNo.2)  Re[2]: VC++ → VB.Netに変換時に文法エラー
□投稿者/ ぴょん 一般人(6回)-(2019/04/26(Fri) 15:59:55)
  • アイコンご回答ありがとうございます。
    c++側はchar型、vb側ではbyte型での見え方となっていました。

    又、続けて調べたところ、変換する際に固定長にしたい場合は
    以下の記載にすれば良いと分かりました。

    【C++】
    「unsigned char pTest[10];」



    【VB】
    <MarshalAs(UnmanagedType.ByValArray, SizeConst:=10)>
    Dim pTest As Byte = Byte()
    Redim pTest(10)


解決み!
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -