問題タブ [spring4d]

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 に答える
342 参照

delphi - Spring4d - サービス名付きの自動ファクトリー

の自動仮想ファクトリ機能を使用しようとしていますSpring4d。とはいえ、ファクトリー関数ServiceName内で解決したいものを渡せるようにしたいです。Build()そのようです :AFactory.Build(AServiceName)

例えば

TMyComponent1工場にwhen AServiceName = 'Service1'TMyComponent2whenAServiceName = 'Service2'などを解決してもらいたいです。

どうすればこれを達成できますか?

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

delphi-10.1-berlin - DUnitX で spring.Nullable を使用する場合のメモリの問題

最近、私の会社で、私たちが書いたクラスをテストするために、DUnitX を使用しようとしました。これらのクラスはデータベース内のエンティティを反映するため、すべてのフィールドは null 値と特定の型 (整数や文字列など) を受け入れる必要があります。

spring4d にはすでにそれらを使用しようとしたものがあるため、次のようにします。

このコードが実行されると、 AV 例外が発生しFirst chance exception at $00000000. Exception class $C0000005 with message 'access violation at 0x00000000: access of address 0x00000000'. Process Tests.exe (6556)ます。

System.Rtti最終的に、この問題をユニット内の関数の移動プロシージャに絞り込みましたTValueDataImpl.ExtractRawDataNoCopy。Length(FData) が 8 以下の場合、Systemユニット ( FISTP QWORD PTR [EDX+8] {Save Second 8}) の 5905 行で Length(FData) が 9 ~ 32 の場合、正常に動作します。コール スタック全体が横に消えます。 2行(関連性があるかどうかはわかりませんが、良い兆候のようには見えません)、(コールスタックによると)最上位の関数に到達した後、エラーが発生します.

「2 番目の 8 を保存」する前のコール スタック

「2 番目の 8 を保存」後のコール スタック

それは私たちのせいですか、それともシステム/スプリング/dunitx ユニットの問題ですか? null 許容型とテストを同時に使用するにはどうすればよいですか?

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

delphi - Spring4D の最新版は DSharp と互換性がありませんか?

このリンクhttps://bitbucket.org/sglienke/spring4d/downloads/から Spring4D "sglienke-spring4d-ca8037a2fdec.zip" をダウンロードしました。

そして、このリンクから DSharp "sglienke-dsharp-2eae62962442.zip" をダウンロードしましたhttps://bitbucket.org/sglienke/dsharp/downloads/

Tokyo 10.2.3 を使用して DSharp をビルドしようとしましたが、次のエラーが発生しました - DSharp は最新の Spring4D コミットと互換性がないようですか?

[dcc32 エラー] DSharp.Collections.Iterators.pas(54): E2170 非仮想メソッドをオーバーライドできません

[dcc32 エラー] DSharp.Collections.Iterators.pas(66): E2170 非仮想メソッドをオーバーライドできません

[dcc32 エラー] DSharp.Collections.Iterators.pas(129): E2003 宣言されていない識別子: 'fState'

[dcc32 エラー] DSharp.Collections.Iterators.pas(147): E2003 宣言されていない識別子: 'fState'

[dcc32 エラー] DSharp.Collections.Iterators.pas(148): E2003 宣言されていない識別子: 'STATE_ENUMERATOR'

[dcc32 エラー] DSharp.Collections.Iterators.pas(149): E2003 宣言されていない識別子: 'STATE_RUNNING'

[dcc32 エラー] DSharp.Collections.Iterators.pas(149): E2030 ケース ラベルが重複しています

[dcc32 エラー] DSharp.Collections.Iterators.pas(156): E2003 宣言されていない識別子: 'fCurrent'

[dcc32 エラー] DSharp.Collections.Iterators.pas(160): E2003 宣言されていない識別子: 'STATE_FINISHED'

[dcc32 エラー] DSharp.Collections.Iterators.pas(173): E2003 宣言されていない識別子: 'fState'

[dcc32 Fatal Error] DSharp.Core.dpk(38): F2063 Could not compile used unit 'DSharp.Collections.Iterators.pas'

失敗 経過時間: 00:00:00.8

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

delphi - 型のコンストラクタが満たされていません

Spring4D の Dependency Injection Framework をいじってみましょう。

現時点では、DynamicAbstractFactories を使用しようとしています。テストには 2 つのクラスとファクトリが IOrderShipperあります。IOrderShipperFactory動作し、 IDocument失敗IDocumentFactoryします。

プロシージャTestDocumentのコードは発生します

タイプのコンストラクターが満たされていません: DynamicAbstractFactory.TDocument

理由がわかりません....誰かが理由を知っていることを願っています、私は本当に愚かだと感じています