求救!关于创建类实例的问题!(100分)

  • 主题发起人 主题发起人 GBlueMan
  • 开始时间 开始时间
G

GBlueMan

Unregistered / Unconfirmed
GUEST, unregistred user!
如果想创建一个类实例,但又不知道系统是否已经创建过,所以想:
如果系统已经创建过的话就将前一个释放掉,那么我如何判断该实例是否存在呢?
如:
if xxx() then
DataModule1.free;
DataModule1 := TDataModule1.Create(Self);
我如何判断上面那个DataModule1 是否被创建过呢?
 
我想不存在这种判断吧
 
如果在同一个应用程序中。最简单的办法就是设一个全局变量来判断了。
创建的时候设为真,每次创建之前判断是否已经为真。

如果你的DATAMODULE1已经是全局变量的话,
直接写if assigned(datamodule1) then
DataModule1.free;
DataModule1 := TDataModule1.Create(Self);
 
十分简单:

if DataModule1<>nil then FreeAndNil(DataModule1);
DataModule1 := TDataModule1.Create(Self);

 
接受答案
 
后退
顶部