07-18-2020, 02:25 PM
it's look the that the region list or containers list not maintained well
unit IWBaseRenderContext;
line 216 -
the fix not help
function TIWContainerContext.GetComponentContext(const AName: string): TIWBaseComponentContext;
var
idx: Integer;
p: Integer;
LContainerName: string;
LContainer: TComponent;
LBaseContainer: IIWBaseContainer;
//yossi
goAhead : Boolean;
begin
Result := nil;
if Not Assigned(FAliasContextList) then // yossi
exit;
goAhead := True; //yossi
Try //yoosi
idx := FAliasContextList.IndexOf(AName);
Except; // yossi
goAhead := False;
End;
// yossi
// if not goAhead then
// Exit;
//yossi if idx >= 0 then begin
if (idx >= 0) and goAhead then begin
Result := FAliasContextList.Objects[idx] as TIWBaseComponentContext;
end else begin
p := Pos('.', AName);
if p > 0 then begin
LContainerName := Copy(AName, 1, p - 1);
LContainer := GetControlInstance(LContainerName);
LBaseContainer := BaseContainerInterface(LContainer);
if Assigned(LBaseContainer) then begin
Result := LBaseContainer.ContainerContext.GetComponentContext(Copy(AName, Length(LContainerName) + 2, Length(AName)));
end;
end;
end;
end;
unit IWBaseRenderContext;
line 216 -
the fix not help
function TIWContainerContext.GetComponentContext(const AName: string): TIWBaseComponentContext;
var
idx: Integer;
p: Integer;
LContainerName: string;
LContainer: TComponent;
LBaseContainer: IIWBaseContainer;
//yossi
goAhead : Boolean;
begin
Result := nil;
if Not Assigned(FAliasContextList) then // yossi
exit;
goAhead := True; //yossi
Try //yoosi
idx := FAliasContextList.IndexOf(AName);
Except; // yossi
goAhead := False;
End;
// yossi
// if not goAhead then
// Exit;
//yossi if idx >= 0 then begin
if (idx >= 0) and goAhead then begin
Result := FAliasContextList.Objects[idx] as TIWBaseComponentContext;
end else begin
p := Pos('.', AName);
if p > 0 then begin
LContainerName := Copy(AName, 1, p - 1);
LContainer := GetControlInstance(LContainerName);
LBaseContainer := BaseContainerInterface(LContainer);
if Assigned(LBaseContainer) then begin
Result := LBaseContainer.ContainerContext.GetComponentContext(Copy(AName, Length(LContainerName) + 2, Length(AName)));
end;
end;
end;
end;