16得票2回答
Delphi接口助手/解决方法

我意识到 Delphi 不支持接口帮助器,但是在阅读了几个 SO 主题和 Spring4D 的源代码等资料后,我想知道是否有方法可以实现以下目标?源代码注释基本上概括了我试图做的事情,因此在此呈现:program IHelper; {$APPTYPE CONSOLE} {$R *.res}...

13得票1回答
构造函数注入与设置器注入对于父属性的区别

我试图找出最好的依赖注入方式,以用于一些需要长时间重构并且必须逐步完成的旧代码。大多数旧类使用“Parent”属性来确定各种事情,并且经常通过构造函数参数传递父属性,如下所示:constructor TParentObject.Create; begin FChildObject := T...

10得票1回答
当T是事件处理程序时,IList<T>会崩溃?

我发现IList无法将事件处理程序作为其元素。程序在退出时出现访问冲突$C00000005。 如果我使用Delphi RTL的TList,一切都正常。 无论是32位还是64位版本构建,在发生此问题时,它似乎会停留在Spring4D的以下行中: procedure TCollectionBas...

9得票2回答
Delphi - 如何在Spring4D依赖注入框架中从实例化器传递参数到构造函数?

是否可以注册一个带有预期从创建点传递的参数的类? 我知道可以这样做: GlobalContainer.RegisterType&lt;TUserProcessor&gt;.Implements&lt;IUserUpgrader&gt;. AsTransient.DelegateTo( ...

8得票5回答
为什么在迭代之后TObjectList类型的列表会自动释放?

我有一个关于 Spring4D 框架中 TObjectList 类的行为问题。在我的代码中,我创建了一个几何图形列表,例如 正方形、圆形、三角形,每个几何图形都定义为一个独立的类。为了在列表被销毁时自动释放几何图形,我定义了一个类型为 TObjectList 的列表,如下所示: proced...

8得票2回答
Delphi Spring DI:是否可能在没有实现类型的情况下委托接口实例化?

我刚开始接触Delphi Spring Framework,想知道当前版本的DI容器是否允许委托构造工厂方法而不指定实现类型? 例如,类似于这样的方法: GlobalContainer .RegisterFactory&lt;ISomeObject&gt;( function:...

7得票2回答
如何使用Spring Framework确保所需的依赖项已包含在我的应用程序中?

这将是一个比较棘手的问题,但是我们可以试着解答一下。 我们正在使用 Delphi Spring Framework(http://code.google.com/p/delphi-spring-framework/)。 假设我有一个名为 UnitA 的单元,其中声明了 InterfaceA...