我想创建一个指向名为“CustomParam”的类的指针,所以我声明
pCustomParam = ^CustomParam
类 CustomParam 有以下类变量,应在构造函数中设置为 0:
var keyArray: array of String;
var valueArray: array of String;
var paramArray: array of pCustomParam;
var isParamArray: array of Boolean;
var size: Integer;
构造函数看起来像这样:
constructor CustomParam.create;
begin
inherited;
size:= 0;
SetLength(keyArray,0);
SetLength(valueArray,0);
SetLength(isParamArray,0);
SetLength(paramArray,0);
end;
并被这样宣布:
constructor create; overload;
现在我尝试使用“new”创建指向 CustomParam 的指针,如下所示:
var pointerToCustomParam: pCustomParam;
begin
new(pointerToCustomParam);
但它不会跳转到 CustomParam 类的构造函数。如果我手动调用构造函数,如下所示:
pointerToCustomParam^.create;
应用程序将在 SetLength 命令上崩溃。
我注意到的是,变量“pointerToCustomParam”在“new”函数之后直接得到了垃圾内容。
我希望你能帮助我并且信息足够了:)
谢谢 :)