type TMyRecord = record private FValue: Integer; class operator Initialize(out Dest: TMyRecord); class operator Finalize(var Dest: TMyRecord); class operator Assign(var Dest: TMyRecord; const [ref] Src: TMyRecord); public property Value: Integer read FValue write FValue; end; class operator...
Value: Integer; classoperatorInitialize (outDest: TMyRecord); classoperatorFinalize(varDest: TMyRecord); end; type TForm1 =class(TForm) Memo1: TMemo; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: ...
TestArray : array[0..1] of TTest; begin //Test.Operator_Initialize();TestArray[0].Operator_Initialize();TestArray[1].Operator_Initialize(); ... Test := TestArray[0]; //test.Operator_Assign(TestArray[0]); end;//Test.Operator_Finalize();TestArray[0].Operator_Finalize();TestArray[1]...
TestArray :array[0..1]ofTTest; begin//Test.Operator_Initialize();TestArray[0].Operator_Initialize();TestArray[1].Operator_Initialize(); ... Test := TestArray[0];//test.Operator_Assign(TestArray[0]); end;//Test.Operator_Finalize();TestArray[0].Operator_Finalize();TestArray[1].Operato...
type TRandomPasswordCustom = record Password: string; public class operator Initialize (out Dest:TRandomPasswordCustom); class operator Finalize (var Dest:TRandomPasswordCustom); end; class operatorTRandomPasswordCustom.Initialize (out Dest: TRandomPasswordCustom); begin Dest.Password:=$%HJKFbmnmn; ...
2a :Integer; 3 4Var 5b :Integer; 6 7Var 8c, d; Types of parameters in a procedure/function declaration are also ignored and can be skipped. For example, this code is correct: 1FunctionSum(a, b) :Integer; 2Begin 3Result := a + b; ...
procedure Operaor_Finalize(); //反初始化 procedure Operator_Assign(const source: TTest); overload;//拷贝 := procedure Operator_Assign(const source: TTest; defaultAssign :TDefaultAssign(*调⽤默认赋值的函数*)); overload;//拷贝 := end;这样TTest在使⽤的时候就会⾃动调 var Test : TTest;...
The following Delphi RTL functions aren't supported in Delphi Script: • Abort, Addr, Assert, Dec, FillChar, Finalize, Hi, High, Inc, Initialize, Lo, Low, New, Ptr, SetString, SizeOf, Str, UniqueString, VarArrayRedim, VarArrayRef, VarCast, VarClear, VarCopy. The functions from ...
Test := TestArray[0];//test.Operator_Assign(TestArray[0]);end;//Test.Operator_Finalize();TestArray[0].Operator_Finalize();TestArray[1].Operator_Finalize(); 注释中是自动被调用的代码.好玩吧. 有了这几个功能,智能指针也可以做出来.
program Project1;{$IFDEF FPC}{$MODE DELPHI}{$ENDIF}usesSysUtils;typeTMyRecord = recordValue: Integer;class operator Initialize(out Dest: TMyRecord);class operator Finalize(var Dest: TMyRecord);class operator Assign(var Dest: TMyRecord; var Src: TMyRecord);// or Assign (var Dest: TMyRecord...