刚接触Delphi就被迫看FastScript源码,有很多东西都是边看边学。
今天在看fs_iinterpreter.pas时发现这样的代码:
procedure TfsScript.AddRTTI;
var
i: Integer;
rtti: TfsRTTIModule;
obj: TClass;
begin
if FRTTIAdded then Exit; AddedBy := TObject(1);
for i := 0 to FRTTIModules.Count - 1 do
begin
obj := TClass(FRTTIModules[i]);
rtti := TfsRTTIModule(obj.NewInstance);
rtti.Create(Self);
Add('', rtti);
end;
AddedBy := nil; FRTTIAdded := True;
end;
这里的
AddedBy := TObject(1);
obj := TClass(FRTTIModules[i]);
rtti := TfsRTTIModule(obj.NewInstance);
是什么意思?
有人说是强制类型转换,但是不是只有数值和变量是使用“转换后类型名(转换前数值/变量)”的方式吗,类的转换用的是as?
实在是不懂了,请知道的人帮个忙!
今天在看fs_iinterpreter.pas时发现这样的代码:
procedure TfsScript.AddRTTI;
var
i: Integer;
rtti: TfsRTTIModule;
obj: TClass;
begin
if FRTTIAdded then Exit; AddedBy := TObject(1);
for i := 0 to FRTTIModules.Count - 1 do
begin
obj := TClass(FRTTIModules[i]);
rtti := TfsRTTIModule(obj.NewInstance);
rtti.Create(Self);
Add('', rtti);
end;
AddedBy := nil; FRTTIAdded := True;
end;
这里的
AddedBy := TObject(1);
obj := TClass(FRTTIModules[i]);
rtti := TfsRTTIModule(obj.NewInstance);
是什么意思?
有人说是强制类型转换,但是不是只有数值和变量是使用“转换后类型名(转换前数值/变量)”的方式吗,类的转换用的是as?
实在是不懂了,请知道的人帮个忙!
数字“1”怎么转型为TObject??