【发布时间】:2019-12-14 10:26:57
【问题描述】:
我在 delphi 中创建了一个类。看起来是这样的
TGoJsNode = class(TPersistent)
private
_id: Integer;
Key: Integer;
Text: String;
constructor Create;
end;
我需要检查何时有效地创建了这个类(使用了构造函数)。例如,当我这样做时:
var
x: TGoJsNode;
begin
if Assigned(x) then
// Will return True
showmessage('created');
if x = nil then
// Will also return True
showmessage('created');
end;
这两个测试的结果都是 true,而事实上我并没有创建 x。在我看来,当我创建它时,x 应该只在分配的测试中产生 true,如下所示:
procedure TForm1.Button18Click(Sender: TObject);
var
x: TGoJsNode;
begin
x := TGoJsNode.Create;
end;
我观察到的另一件奇怪的事情是私有数值变量具有随机值,而字符串一个是空的。所有的类都在同一个单元文件中。有什么想法吗?
【问题讨论】:
标签: delphi