問題タブ [resourcestring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - ランタイムパッケージでビルドしながら「インポートされたデータ参照が必要」を解決する方法
モノリシックアプリケーションのモジュール化を支援するために、リリースビルド用に単一のexeにコンパイルしながら、デバッグビルドで使用するパッケージをセットアップ中です。
パッケージの1つ(EAUtils)には、現在生産中のユニットが含まれています[DCC Error] E2201 Need imported data reference ($G) to access 'SMsgDlgWarning' from unit 'SystemUtils'
。
これは、EAUtilsパッケージ自体をビルドするときに発生します。私はまだEAUtilsに依存するパッケージを構築することに興味がありません。EAUtilsは、rtl/vclパッケージとJediWinApiユニット用に作成したパッケージにのみ依存します。
これは次の行の結果です。
より具体的には、これは、、、およびを参照SMsgDlgWarning
した結果SMsgDlgError
であり、これらはすべて。で宣言されています。SMsgDlgInformation
SMsgDlgConfirm
Vcl.Const
単一の実行可能ファイルをビルドする場合、このコードはエラーなしでコンパイルされることに注意してください。
{$IMPORTEDDATA OFF}
最適化の手段として、 (グローバル)変数と定数へのより高速なアクセスを可能にするため、インクルードファイルには含まれています。http://hallvards.blogspot.com/2006/09/hack13-access-globals-faster.htmlを参照してください。
エラーに関するドキュメント(http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/cm_package_varref_xml.html)によると、これが原因であり、「問題を軽減するには、通常、$ IMPORTEDDATAスイッチをオンにして、エラーが発生したユニットを再コンパイルするのが最も簡単です。」
そこで、{$IMPORTEDDATA ON}
インクルードファイルを設定し、プロジェクトオプションUse imported data references
のセクションでをtrueに設定することで二重に確認しました。Delphi Compiler | Compiling | Debugging
残念ながら、ドキュメントに反して、これは問題を軽減しませんでした。問題のあるコードのすぐ上にこのコンパイラ指令を設定し、パッケージを再構築しても、エラーは削除されませんでした。
このE2201エラーを解決するには、他に何をする必要がありますか?確かではありませんが、SMsgDlgWarningとその友人がリソース文字列であることは重要かもしれません。
.net - リソース文字列名の無効な文字の参照?「:」は許可されていますか?
MSDNで簡単なチェックを行った後、ここで簡単に検索しましたが、.netリソース文字列名で許可されている文字と許可されていない文字を明確に示すものは見つかりませんでした。現在、「:」が許可されているかどうかを調べようとしていますが、すべてのケースをカバーするリファレンスを見つけたいと思います。
delphi - Delphi リソース文字列の文字列テーブル リソース ID を取得するには?
Delphi では、モジュールのリソース セクションの文字列テーブルに格納される文字列を宣言できます。
コンパイル時に、Delphi によって ID が割り当てられ、文字列テーブルに格納されます。
リソース文字列として宣言されている文字列の ID を取得する方法はありますか?
その理由は、gnugettext と同じように機能するパッケージを使用しているためです。System.pas の一部の関数 (LoadResString など) はフックされているため、式でリソース文字列を使用すると、別の文字列 (翻訳) に置き換えられます。もちろん、これは非常に便利ですが、リソース文字列の元の (翻訳されていない) テキストが必要になることがあります。
文字列のリソース ID を取得できたら、LoadString API を呼び出して、翻訳されたテキストではなく元のテキストを取得できます。
wpf - wpfのviewmodelで文字列リソースにアクセスする方法
私はMVVMパターンに従って、WPFの初心者です。dll を作成しようとして、resourcedictionary でいくつかのリソース文字列を定義しました。xaml ファイルでアクセスできますが、viewmodel でアクセスする必要があります。ネットで検索したところ、TryFindResource() メソッドが 1 つあることがわかりましたが、このメソッドはアプリケーション コンテキストにあります。ビューモードで使用するにはどうすればよいですか?
ありがとう
delphi - 実装領域からリソース文字列識別子を取得する
resourcestring
セクションにがあるユニットがありますimplementation
。resourcestring
の識別子を別のユニットで取得するにはどうすればよいですか?
interface
セクションで利用できる場合は、次のように記述できます。
delphi - Delphi リソース文字列ユニットからリソース名を見つけるにはどうすればよいですか
状況は次のとおりです。
アプリケーションからエラー コード「aabbcc」を受け取りました。エラーコードでリソース名 aabbcc にアクセスできますか?
delphi - リソース文字列識別子によるリソース文字列値の取得
リソース文字列識別子でリソース文字列値を取得する方法。
ResourceString MyString = 'ABC';
MyString の文字列識別子がある場合、その ID から値 'ABC' を取得する方法。