function TUserGroup.GetUser(AMp: string): TFindUser;
var
TmpUserResult: TFindUser;
TmpUser: TUser;
begin
try
// EnterCritical;
Result.User.KeyField := '';
Result.Index := -1;
TmpUserResult := Find(AMp);
if TmpUserResult.User.KeyField = '' then
begin
TmpUser := GetUserFromDb(AMp);
if TmpUser.KeyField <> '' then
begin
Result.Index := AddUser(TmpUser, TmpUserResult.Index);
Result.User := TmpUser;
end;
end
else begin
Result := TmpUserResult;
end;
finally
LeaveCritical;
end;
end;