dポイントプレゼントキャンペーン実施中!

先日、VB6のソースを、アップグレードツールを使用しVB2008(無料版を使用)にコンバートしました。

そしてコンバート後、表示されているエラーとワーニングを全て取り、起動してみたのですが、特に変えた記憶のない設定ファイル読み込みの処理で失敗するようになり、起動しなくなりました。

デバッグ実行にて調べていくとどうやら、「GetPrivateProfileString」に対する引数にて、ファイル名(パス込み)を指定しているのですが、このファイル名の後半部分が一部削除されているようです。
(削除されている文字数は、どうやら、ファイルパスに含まれる全角文字列と同数のようでした。)

何が原因で起こっており、どうすれば直るのでしょうか・・・。
ネット上で調べてみたのですが、原因と直し方がイマイチ解らなくて、こちらで質問させていただきました。
どうか、ご教授いただけないでしょうか。<(_ _*)>

(動作環境:Windows7 32bit版
       Visual Studio2008 無料版)

A 回答 (1件)

VB6から.NETに焼き直すときにはよくある話です……。


.NETでは文字列はUnicodeで管理されているため、
ANSIで文字列を扱うAPIをそのまま呼び出すと引数の内容が壊れたりします。

こちらのリンクを参考になさってください。
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/speci …
    • good
    • 0
この回答へのお礼

おおお!うまくいきました。

そういうことだったんですね・・・ありがとうございます。
勉強になりました。

お礼日時:2013/06/13 13:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!