Delphi 在设计时使用不带包的自定义控件
Delphi use custom controls at design time without package
我可以在设计时直接使用自定义控件(例如 TEdit 后代),而无需设计时包吗?我不想为该控件创建任何包,因为它只是一个,特定于项目等。
谢谢
IDE 基于包,所以不可以,如果没有包,您不能在设计时使用控件。
但是您有两个 corners-cutting 选项。它们并不完全符合您的要求,但可能看起来有些接近并在短时间内为您节省一些工作(但在较长的时间内 运行 会使维护更加复杂)。
Delphi 附带用户的自定义控件包 - 专门用于包含不值得他们自己包的用户的单个控件。
PS。 Uwe Raabe 纠正我说,自从 Delphi XE 以来,该软件包不再可用。因此,最接近的选项是 IDE 中的 Component | Install Component...
向导,提供新包的延迟创建...换句话说,当使用 Delphi 2010 及以下版本时,只有选项 #1。
如果你的TEdit
在设计时与VCL的TEdit没有太大区别,你可以在design-time中使用stock TEdit
并且只替换你的自定义后代在 运行 时间内。 Runtime-only 劫持方法(在 TButton
示例中)显示在我对
的回答中
没有。 UI 控件必须位于包中才能在 design-time 上使用。但是,UI 控件可以在运行时实例化,而无需在包中。
我可以在设计时直接使用自定义控件(例如 TEdit 后代),而无需设计时包吗?我不想为该控件创建任何包,因为它只是一个,特定于项目等。
谢谢
IDE 基于包,所以不可以,如果没有包,您不能在设计时使用控件。
但是您有两个 corners-cutting 选项。它们并不完全符合您的要求,但可能看起来有些接近并在短时间内为您节省一些工作(但在较长的时间内 运行 会使维护更加复杂)。
Delphi 附带用户的自定义控件包 - 专门用于包含不值得他们自己包的用户的单个控件。
PS。 Uwe Raabe 纠正我说,自从 Delphi XE 以来,该软件包不再可用。因此,最接近的选项是 IDE 中的Component | Install Component...
向导,提供新包的延迟创建...换句话说,当使用 Delphi 2010 及以下版本时,只有选项 #1。如果你的
TEdit
在设计时与VCL的TEdit没有太大区别,你可以在design-time中使用stockTEdit
并且只替换你的自定义后代在 运行 时间内。 Runtime-only 劫持方法(在TButton
示例中)显示在我对 的回答中
没有。 UI 控件必须位于包中才能在 design-time 上使用。但是,UI 控件可以在运行时实例化,而无需在包中。