複数のポインターがあり、それぞれの名前はこのように構築されてい'str'+'name'
ます。strpointer1
したがって、ポインター 1 の名前は、ポインター 2 の名前などとしましょうstrpointer2
。
これらの名前はすべてどこかに保存されており、特定の瞬間に文字列変数にポインター 1 の名前があり、その時点でそのポインターを使用して何かを行う必要があります。
文字列に彼の名前しかない場合、そのポインターをどのように使用すればよいですか?
より良い説明(願っています):
SQLテーブルから動的に生成されたメニューを翻訳するために、devexpressスイートのローカライザーコンポーネントを使用しようとしています。
例: メニューの「ファイル」コンポーネントのキャプションの場合、ローカライザーで他の言語の翻訳を宣言すると、それらの翻訳へのポインター (私が「filecap」と名付けました) を取得します。
設計時にメニューを描画しているとき、次のように File.caption を割り当てます。
File.caption := cxgetresourcestring(@filecap);
function cxgetresourcestring(apointer):string;
しかし、私はメニューを動的に描画しています。メニュー項目を TTable から読み取ってから、それらを動的配列に格納しています。これは私が話していた瞬間であり、通常は次のようにします。
MenuItems_Array[i].caption := tbl_menu.fieldbyname('MenuItemName').asstring;
しかし今、ローカライザーを使用したいので、これを試しました:
MenuItems_Array[i].caption := cxgetresourcestring(tbl_menu.fieldbyname('MenuItemName').asstring);
もちろんエラーを返します。そのポインタの型と文字列が一致しません。