在 Delphi 中的另一个模块中使用全局 class 对象
Use global class object from one module in other in Delphi
我想要一个class对象在Delphi的一个模块和其他模块(.pas-files,也许称它为模块不正确,我'我不是很熟悉 Delphi) 能够使用这个全局变量。它是一种不在某些全局函数内初始化全局对象并让其他模块直接使用该全局对象的方法吗?没有任何全局功能。可能吗?
只需在单元的 interface
中声明变量,然后根据需要在其他单元的 uses
子句中使用该单元。您可以在其单元的 initialization
部分中初始化变量。
UnitA.pas:
unit A;
interface
type
TMyClass = class
// members as needed...
end;
var
GlobalObj: TMyClass;
implementation
// implement TMyClass methods as needed...
initialization
GlobalObj := TMyClass.Create;
finalization
GlobalObj.Free;
end.
UnitB.pas:
unit B;
...
uses
..., A;
// use A.GlobalObj as needed...
end.
我想要一个class对象在Delphi的一个模块和其他模块(.pas-files,也许称它为模块不正确,我'我不是很熟悉 Delphi) 能够使用这个全局变量。它是一种不在某些全局函数内初始化全局对象并让其他模块直接使用该全局对象的方法吗?没有任何全局功能。可能吗?
只需在单元的 interface
中声明变量,然后根据需要在其他单元的 uses
子句中使用该单元。您可以在其单元的 initialization
部分中初始化变量。
UnitA.pas:
unit A;
interface
type
TMyClass = class
// members as needed...
end;
var
GlobalObj: TMyClass;
implementation
// implement TMyClass methods as needed...
initialization
GlobalObj := TMyClass.Create;
finalization
GlobalObj.Free;
end.
UnitB.pas:
unit B;
...
uses
..., A;
// use A.GlobalObj as needed...
end.