相关疑难解决方法(0)

如何在Spring4D GlobalContainer中初始化主应用程序表单?

所以例如我有一个主窗体,并希望将一个记录器实例注入私有字段.

我注册了记录器

GlobalContainer.RegisterType<TCNHInMemoryLogger>.Implements<ILogger>;
Run Code Online (Sandbox Code Playgroud)

我的主要表格中有一个私人字段

private
   FLogger: ILogger;
Run Code Online (Sandbox Code Playgroud)

所有我想要的是这样做:

private
   [Inject]
   FLogger: ILogger;
Run Code Online (Sandbox Code Playgroud)

在我的DPR文件中,我有典型的delphi方式来创建主窗体:

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(Tfrm_CNH, frm_CNH);
  Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)

在表单创建方式中我应该更改哪些内容可以正确注入私有字段?

顺便说一句,如果我使用GlobalContainer.Resolve解决Form.OnCreate中的字段,它可以正常工作.但我想避免在表单中使用GlobalContainer变量.

delphi spring4d

4
推荐指数
1
解决办法
1449
查看次数

标签 统计

delphi ×1

spring4d ×1