Delphi 在设计时使用不带包的自定义控件

Delphi use custom controls at design time without package

我可以在设计时直接使用自定义控件(例如 TEdit 后代),而无需设计时包吗?我不想为该控件创建任何包,因为它只是一个,特定于项目等。

谢谢

IDE 基于包,所以不可以,如果没有包,您不能在设计时使用控件。

但是您有两个 corners-cutting 选项。它们并不完全符合您的要求,但可能看起来有些接近并在短时间内为您节省一些工作(但在较长的时间内 运行 会使维护更加复杂)。

  1. Delphi 附带用户的自定义控件包 - 专门用于包含不值得他们自己包的用户的单个控件。
    PS。 Uwe Raabe 纠正我说,自从 Delphi XE 以来,该软件包不再可用。因此,最接近的选项是 IDE 中的 Component | Install Component... 向导,提供新包的延迟创建...换句话说,当使用 Delphi 2010 及以下版本时,只有选项 #1。

  2. 如果你的TEdit在设计时与VCL的TEdit没有太大区别,你可以在design-time中使用stock TEdit并且只替换你的自定义后代在 运行 时间内。 Runtime-only 劫持方法(在 TButton 示例中)显示在我对

  3. 的回答中

没有。 UI 控件必须位于包中才能在 design-time 上使用。但是,UI 控件可以在运行时实例化,而无需在包中。