問題タブ [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.
delphi - DelphiでGlobalContainer(Spring4Dフレームワーク)を使用して継承オブジェクトを作成するには?
Spring4D Framework の GlobalContainer を使用して、他から継承したカスタム クラス オブジェクトを作成する際に問題があります。
親クラス:
子孫クラス:
TVSPSeismicSection のオブジェクトを作成しようとする私の試み:
次に、(親クラスの)「Organization」フィールドにアクセスしようとすると、アクセス違反エラーが発生します。
問題は、親クラスに GlobalContainer リゾルバーを使用してフィールドを開始するように指示する方法です。多分 DelegateTo メソッド経由ですが、どうやって?
私が見つけた1つの方法は、次のように子孫クラスのコンストラクターで親フィールドを開始することです:
しかし、これは依存性注入パラダイムに違反しています。追加のクラス (IDirectoryObject) を子孫クラスに含める必要があるからです。
delphi - Spring4Dで解決するためのベストプラクティス?
spring4d デモでServiceLocator.GetService<MyType>('Name')
は、型を解決するために使用されます。しかし、なぜ使用しないのGlobalContainer.Resolve<MyType>('Name')
ですか?このアプローチには利点がありません...
delphi - spring4d はローカルに構築されたクラスを解決します
たとえば、次のコードがあるとします。
メソッド ButtonEvent は、Delphi フォームのボタン クリック イベントによって呼び出されます。
今私の質問: クラス TMyClass2 をインスタンス化するより良い方法はありますか? 私の場合、クラス TMyClass1 への挿入は不可能です。TMyClass2 インスタンスの有効期間は ButtonEvent 内のみです。ButtonEvent への次の呼び出しでは、別のインスタンスを使用する必要があります...
私の知る限り、メソッドパラメーターの注入またはローカル変数の注入はSpring4Dでは不可能ですよね?
delphi - 地図機能はありますか?
私はちょうどこの関数を書いた:
map
これは、Haskells (またはfmap
、liftM
など)とほぼ同等です。
だから私はSpring4Dにこのようなものがすでに存在するのだろうか?
delphi - フィールドインターフェースをオブジェクトに注入する方法
オブジェクトにインターフェースを注入したいが、属性の問題が見つからない [Inject]
何が機能していますか。
コンストラクタ TMyButton.Create(AOwner: TComponent) で ServiceLocator をフィールド インジェクションに置き換えたいのですが、これを行う方法が見つかりません。
いくつかの例ですが、うまくいきません。問題がわかりません。
実行時に TMyButton を作成すると、TMyButton の FStorage は nill です。FStorage:= ServiceLocator.GetService; を使用する場合 コンストラクターでは、FStorage が割り当てられます。しかし、ServiceLocator ではなくインジェクションを使用したいと考えています。これが可能であれば。
unit-testing - DUnit を使用して Spring4D イベントをモックする方法
DUnit を使用して Spring4d イベントを正常にモックするのに苦労しています。
実際、私はイベントのモックを返すモックをもっとモックしています...
これが基本構造です。
TMyObject にはプロパティ EventContainer があります: IEventContainer
IEventContainer にはプロパティ Event があります: IMyEvent
嘲笑したい
考えられるすべての可能性をテストしました。AV または無効なキャストのいずれかを取得します。以下にソースコードを置いておきます。誰かが私がこれを機能させるのを手伝ってくれたら、それは本当に気の利いたものになるでしょう!