你说的“a class that uses”是什么意思?也许你说的是“a unit that uses”?如果是这样,你需要在uses子句中同时添加A和B。然后你可以通过写A.One.SomeProcedure或B.One.SomeProcedure来区分这两个过程。如果你只是写One.SomeProcedure,将使用uses子句中列在 last 的单元中的过程。[这里我假设One是包含类过程SomeProcedure的类。如果SomeProcedure是普通过程当然,你需要创建这个类的对象并使用它。然后你可以做myobj := A.One.Create或myobj := B.One.Create,其中var myobj: A.One或var myobj: B.One分别是。] (还请记住,每个单元包含 * 两个 * uses子句:一个在interface部分的开头,一个在implementation部分的开头。如果您在第 N 行使用单元A中的内容,则包含单元A的uses子句需要位于 N 上面的一行。) 还要注意,在 Delphi 中,类应该被称为TOne,前缀为T。每个人都遵循这个约定,没有它看起来很奇怪。
4条答案
按热度按时间iibxawm41#
您可以使用以下方式:[UnitName].[Function].例如B.SomeProcedure
uwopmtnx2#
你可以做完全相同的事情.
UnitName.ClassName.Method
,就像在C#中一样。tzcvj98z3#
你说的“a class that uses”是什么意思?也许你说的是“a unit that uses”?如果是这样,你需要在
uses
子句中同时添加A和B。然后你可以通过写A.One.SomeProcedure
或B.One.SomeProcedure
来区分这两个过程。如果你只是写One.SomeProcedure
,将使用uses
子句中列在 last 的单元中的过程。[这里我假设One
是包含类过程SomeProcedure
的类。如果SomeProcedure
是普通过程当然,你需要创建这个类的对象并使用它。然后你可以做myobj := A.One.Create
或myobj := B.One.Create
,其中var myobj: A.One
或var myobj: B.One
分别是。](还请记住,每个单元包含 * 两个 *
uses
子句:一个在interface
部分的开头,一个在implementation
部分的开头。如果您在第 N 行使用单元A中的内容,则包含单元A的uses
子句需要位于 N 上面的一行。)还要注意,在 Delphi 中,类应该被称为
TOne
,前缀为T
。每个人都遵循这个约定,没有它看起来很奇怪。y4ekin9u4#
TNewClassA = class(UnitA.One)和TNewClassB = class(UnitB.One)如何?