如果我在Delphi中只有它的字符串名称,如何引用一个单元(在运行时)?

Har*_*uki 0 delphi reference delphi-units

我有类型的区别单位具有相同的名称,我有一个字符串中的单位名称.我需要访问该单元的特定类型.我怎么做?

例:

unit Unit1

type
   TFooType = (
      bar1,
      bar2
   );
Run Code Online (Sandbox Code Playgroud)

那么,我有另一个单位

unit Unit2

type
   TFooType = (
      foo1,
      foo2,
      foo3
   );      
Run Code Online (Sandbox Code Playgroud)

而且,在我的代码中的某处,我有一个字符串变量"UnitName",其中包含值"Unit1",我想通过变量访问Unit1的"TFooType"类型.

我正在使用Delphi 2007

对不起,我的英语不好.

提前致谢.

Rob*_*edy 11

您无法选择在运行时包含哪些单位.单位是编译时的概念.

此外,尽管具有相同的基本名称,但您的两种类型是完全不同的类型.在代码的其他地方,您不能拥有类型变量,TFooType并且可以任意决定是否从这两个单元中分配值.该变量只能保存一种类型的值.

你将不得不考虑其他一些方法来完成你的真正任务.我邀请您发布一个新问题,描述您的真实任务.