0

RAD Studio 2009 C++ Builder プロジェクトをローカライズしています。IDE では、プログラムを開始する前に Project/Language/Acivate を使用して言語を選択できます。それはうまくいきます。ここで、実行時に言語を変更したいと考えています。そのためには、不思議なことに私のインストールには含まれていない Delphi ユニット reinit.pas が必要です。ネットのどこかで 2 つのバージョンを見つけました。1 つは 2002 年 8 月 9 日の日付です。もう 1 つは 2013 年 3 月 9 日の日付です。フォームには、適切な言語に切り替えるために以下のそれぞれのメソッドを呼び出す 2 つのボタンがあります。

void __fastcall TFormMonitor::ButtonEnglishClick(TObject *Sender)
{
const cEnglish = MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US);
if(LoadNewResourceModule(cEnglish))
{
ReinitializeForms();
}
}

//---------------------------------------------------------------------------
void __fastcall TFormMonitor::ButtonDeutschClick(TObject *Sender)
{
const cGerman = (SUBLANG_GERMAN | LANG_GERMAN);
if(LoadNewResourceModule(cGerman))
{
ReinitializeForms();
}
}

reinit.pas の両方のバージョンの動作は同じです。ReinitialzeForms() は、「祖先が見つかりません」というコメントを含むクラス EReadError 例外をスローします。

C++ Builder 2009 に対応するバージョンの reinit.pas はどこで入手できますか?

それとも、何らかの問題が原因で EReadError 例外が発生しているのでしょうか?

私はすでに何時間もネットで調査を行ってきましたが、解決策は思いつきませんでした。

助けてくれてありがとう、ダール

4

1 に答える 1