none
VB6 の LoadResString は VB2005 ではどう実現させますか? RRS feed

  • 質問

  • 今VB6 のソースからVB2005への移植をおこなっています。

    VB6 上で LoadResString という関数を呼んでいるのですが、
    VB2005 では「名前'LoadResString’ は宣言されていません。」のコンパイルエラーが出ます。

    msdn では 名前空間 Microsoft.VisualBasic.Compatibility.VB6 と書いてあるのですが、

    Compatibility 以降が見当たりません。

    もうわたしの手には負えないようです。

    だれか助けて下さい。

    2011年10月19日 18:00

回答

  • MSDN の名前空間の項目の下に、必要な dll が記載されてるはずです。それを参照に加えてください。

    なお、解説にもあるとおり Compatibility な名前空間下のは本当に互換性のためだけって感じのものなので、ごく単純な移植でない限りは .NET 流に書き直した方が却って楽かもしれません。そうじゃないかもしれませんが。

    2011年10月19日 21:03
  • 補足ですが、

    Support.LoadResString メソッドの説明(VB2005向けでは情報が少ないので最新情報)に書かれていますが、

    Visual Basic 6.0 では、アプリケーションの国際対応バージョンを作成するときに、ローカライズ可能な情報 (文字列など) を言語ごとに個別のリソース ファイル (.res) に格納していました。 ロケール固有のリソースは、実行時に LoadResString、LoadResPicture、および LoadResData の各関数を呼び出すことによって、リソース ファイルから読み込んでいました。

    Visual Basic 2010 では、デザイン時にフォームの Language プロパティを変更することによって、アプリケーションの国際対応バージョンを作成します。 個別のリソース ファイル (.resx) は、選択された各ロケールに対して自動的に作成されます。 リソースは、ユーザーのロケールに応じて自動的に読み込まれるため、コードから明示的に読み込む必要がなくなりました。

    .resファイルを使っているのでしょうか? VB2005で.resファイルを扱うには複雑な手順が必要になると思います。.resxを使用するように変更することをお勧めします。

    2011年10月19日 21:25

すべての返信

  • MSDN の名前空間の項目の下に、必要な dll が記載されてるはずです。それを参照に加えてください。

    なお、解説にもあるとおり Compatibility な名前空間下のは本当に互換性のためだけって感じのものなので、ごく単純な移植でない限りは .NET 流に書き直した方が却って楽かもしれません。そうじゃないかもしれませんが。

    2011年10月19日 21:03
  • 補足ですが、

    Support.LoadResString メソッドの説明(VB2005向けでは情報が少ないので最新情報)に書かれていますが、

    Visual Basic 6.0 では、アプリケーションの国際対応バージョンを作成するときに、ローカライズ可能な情報 (文字列など) を言語ごとに個別のリソース ファイル (.res) に格納していました。 ロケール固有のリソースは、実行時に LoadResString、LoadResPicture、および LoadResData の各関数を呼び出すことによって、リソース ファイルから読み込んでいました。

    Visual Basic 2010 では、デザイン時にフォームの Language プロパティを変更することによって、アプリケーションの国際対応バージョンを作成します。 個別のリソース ファイル (.resx) は、選択された各ロケールに対して自動的に作成されます。 リソースは、ユーザーのロケールに応じて自動的に読み込まれるため、コードから明示的に読み込む必要がなくなりました。

    .resファイルを使っているのでしょうか? VB2005で.resファイルを扱うには複雑な手順が必要になると思います。.resxを使用するように変更することをお勧めします。

    2011年10月19日 21:25
  • Hongliang 様、佐祐理 様 ありがとうございました。
    無事解決いたしました。

     

     

    2011年10月26日 5:54