問題タブ [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.

0 投票する
1 に答える
3291 参照

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であり、これらはすべて。で宣言されています。SMsgDlgInformationSMsgDlgConfirmVcl.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とその友人がリソース文字列であることは重要かもしれません。

0 投票する
1 に答える
489 参照

.net - リソース文字列名の無効な文字の参照?「:」は許可されていますか?

MSDNで簡単なチェックを行った後、ここで簡単に検索しましたが、.netリソース文字列名で許可されている文字と許可されていない文字を明確に示すものは見つかりませんでした。現在、「:」が許可されているかどうかを調べようとしていますが、すべてのケースをカバーするリファレンスを見つけたいと思います。

0 投票する
1 に答える
2365 参照

delphi - Delphi リソース文字列の文字列テーブル リソース ID を取得するには?

Delphi では、モジュールのリソース セクションの文字列テーブルに格納される文字列を宣言できます。

コンパイル時に、Delphi によって ID が割り当てられ、文字列テーブルに格納されます。

リソース文字列として宣言されている文字列の ID を取得する方法はありますか?

その理由は、gnugettext と同じように機能するパッケージを使用しているためです。System.pas の一部の関数 (LoadResString など) はフックされているため、式でリソース文字列を使用すると、別の文字列 (翻訳) に置き換えられます。もちろん、これは非常に便利ですが、リソース文字列の元の (翻訳されていない) テキストが必要になることがあります。

文字列のリソース ID を取得できたら、LoadString API を呼び出して、翻訳されたテキストではなく元のテキストを取得できます。

0 投票する
1 に答える
3608 参照

wpf - wpfのviewmodelで文字列リソースにアクセスする方法

私はMVVMパターンに従って、WPFの初心者です。dll を作成しようとして、resourcedictionary でいくつかのリソース文字列を定義しました。xaml ファイルでアクセスできますが、viewmodel でアクセスする必要があります。ネットで検索したところ、TryFindResource() メソッドが 1 つあることがわかりましたが、このメソッドはアプリケーション コンテキストにあります。ビューモードで使用するにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
486 参照

delphi - 実装領域からリソース文字列識別子を取得する

resourcestringセクションにがあるユニットがありますimplementationresourcestringの識別子を別のユニットで取得するにはどうすればよいですか?

interfaceセクションで利用できる場合は、次のように記述できます。

0 投票する
2 に答える
2023 参照

delphi - Delphi リソース文字列ユニットからリソース名を見つけるにはどうすればよいですか

状況は次のとおりです。

アプリケーションからエラー コード「aabbcc」を受け​​取りました。エラーコードでリソース名 aabbcc にアクセスできますか?

0 投票する
0 に答える
61 参照

delphi - リソース文字列識別子によるリソース文字列値の取得

リソース文字列識別子でリソース文字列値を取得する方法。

ResourceString MyString = 'ABC';

MyString の文字列識別子がある場合、その ID から値 'ABC' を取得する方法。