|
@@ -44,9 +44,13 @@ procedure RegisterClassAlias(AClass: TPersistentClass; const Alias: string);
|
|
|
var
|
|
|
I : integer;
|
|
|
begin
|
|
|
+ I:=-1;
|
|
|
ClassList.LockList;
|
|
|
try
|
|
|
- i := ClassAliasList.IndexOf(Alias);
|
|
|
+ if ClassAliasList=nil then
|
|
|
+ ClassAliasList := TStringList.Create
|
|
|
+ else
|
|
|
+ i := ClassAliasList.IndexOf(Alias);
|
|
|
if I = -1 then
|
|
|
ClassAliasList.AddObject( Alias, TObject(AClass) );
|
|
|
finally
|
|
@@ -101,16 +105,19 @@ begin
|
|
|
Result := TPersistentClass(Items[I]);
|
|
|
if Result.ClassNameIs(AClassName) then Exit;
|
|
|
end;
|
|
|
+ if Assigned(ClassAliasList) then
|
|
|
+ begin
|
|
|
I := ClassAliasList.Indexof(AClassName);
|
|
|
if I >= 0 then //found
|
|
|
Begin
|
|
|
Result := TPersistentClass(ClassAliasList.Objects[i]);
|
|
|
exit;
|
|
|
end;
|
|
|
+ end;
|
|
|
Result := nil;
|
|
|
- finally
|
|
|
- ClassList.Unlocklist;
|
|
|
- end;
|
|
|
+ finally
|
|
|
+ ClassList.Unlocklist;
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
|