Что могло измениться в VCL c SetParent ?
От: swame  
Дата: 09.11.16 09:18
Оценка:
В Delphi используем динамискую компоновку форм с использованием SetParent

В версии скопмилированной в XE2 форма выглядит так (так должно быть):

  Версия XE2


При компиляции в berlin вставленная форма не вставилась в панель и выглядит так:

  Версия Berlin


Выпавшая на рисунке форма вставляется в панель на другой форме с помощью кода


class procedure TIFace.InsertPanel (Form: TForm; Panel: TWinControl);
begin
  Assert(Form<>nil);
  Assert(Panel<>nil);
  if (Form<>nil) then begin
    Form.align := alClient;
    Form.parent := Panel;
    Form.BorderStyle := bsNone;
    Form.Visible := true;
  end;
end;


Такой подход работал всегда со старыми вериями Delphi, в berlin не работает с НЕКОТОРЫМИ формами.
Есть идеи что изменилось в berlin?
Пробовал менять во вставляемой форме

FSizeDlg.Position := poDesigned


В некоторых случаях помогало, тут нет.
Отредактировано 09.11.2016 9:23 swame . Предыдущая версия . Еще …
Отредактировано 09.11.2016 9:21 swame . Предыдущая версия .
Отредактировано 09.11.2016 9:19 swame . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.